我有一个 ISO 格式的日期 YYYY-MM-DDTHH:SS(例如 2014-02-14T12:30)。我想在 linux bash 中仅使用 date 命令在自纪元以来的几秒钟内转换它。
所有日期均指 UTC 语言环境。
我知道这个问题很容易重复...有数十亿个关于将日期从一种格式转换为另一种格式的问题,但我找不到我的特定场景
谢谢你...
最佳答案
使用 GNU 日期(来自 GNU coreutils 包),使用 -d
指定要解析的日期,使用 %s
$ date -d"2014-02-14T12:30" +%s
1392381000
请注意,这会将要解析的日期解释为您的本地时区。如果您希望 date
使用特定时区,则必须通过变量 TZ(它更改 date
的默认时区)或在日期中指定字符串。对于 UTC:
$ TZ=UTC date -d"2014-02-14T12:30" +%s
1392381000
或者在字符串中,根据 ISO 8601:
$ date -d"2014-02-14T12:30Z" +%s
1392381000
参见 ISO 8601 on Wikipedia了解如何在日期字符串中指定其他时区。
关于linux - 将 ISO 日期转换为自 linux bash 纪元以来的秒数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21778251/