在 bash shell 中获取昨天 00:00:00 的时间戳

在 bash shell 中获取昨天 00:00:00 的时间戳

我有一个脚本想要获取昨天开始的时间戳(00:00:00 GMT+0),但无法执行该脚本

dateto=$(date --date="1 days ago" +"%Y-%m-%d")
datetoj=$(date +%s --date "$dateto 07:00:00")
<Im in GMT+7>

在这种情况下如何获取时间戳?

答案1

我不确定我是否理解你的意思,但看起来你想理解转变时区之间的时间。

因为,据我所知,伦敦使用 GMT+0,我会这样做:

date --date="TZ=\"Europe/London\" $dateto" +%T

dateto鉴于时间是您当前的当地时间,这将从伦敦获取您的当地时间并输出伦敦的时间dateto

如果我被证明是错误的,关于伦敦时区的假设,还有其他选项,不推荐,但为了 POSIX 兼容性而保留:提供 GMT+0 硬编码:

date --date="TZ=\"Etc/GMT+0\" $dateto" +%T

如果您希望使用 UTC 时间,请使用date -u

date --date="$dateto" -u

相关内容