在将时间戳转换为秒数、添加一些秒数并将结果转换回时间戳的 bash 脚本中,我从 date 命令中获得了错误的结果。原因如下:
$ dt=$(date '+%s' -u --date="2024-11-25 20:31:00")
$ echo $dt
1732566660
$ date '+%F %T' -u --date="$dt seconds"
2079-10-21 22:33:33
我做错什么了?
在将时间戳转换为秒数、添加一些秒数并将结果转换回时间戳的 bash 脚本中,我从 date 命令中获得了错误的结果。原因如下:
$ dt=$(date '+%s' -u --date="2024-11-25 20:31:00")
$ echo $dt
1732566660
$ date '+%F %T' -u --date="$dt seconds"
2079-10-21 22:33:33
我做错什么了?
要提供 Unix 时间戳(自纪元以来的秒数)作为 的输入
date
,请在其前面加上@
:要查看
date
输入的实际操作,请使用--debug
,它将告诉您它将“n 秒”理解为“从现在起 +n 秒”: