Bash 将日期转换为时间戳

2024-04-10

我有一个格式的日期'YYYYMMDDHHMMSS'我需要将它转换为 Unix 时间戳。

我尝试过了date -d '20140826225834'但我得到'invalid date'错误。我认为我必须转换我所拥有的(20140826225834)接受日期然后将其转换为时间戳? 编辑:我已经 sed 这个日期了2014-08-21_23.03.07- 也许转换这个日期类型会更容易


您可能应该更改获得的日期的格式,以便date可以处理它。我把它改为YYYY/MM/DD HH:MM:SS格式化为sed.

$ date -d"$(sed -r 's#(.{4})(.{2})(.{2})(.{2})(.{2})#\1/\2/\3 \4:\5:#' <<< "20140826225834")" "+%s"
1409086714

按件数:

$ sed -r 's#(.{4})(.{2})(.{2})(.{2})(.{2})#\1/\2/\3 \4:\5:#' <<< "20140826225834"
2014/08/26 22:58:34

$ date -d"2014/08/26 22:58:34"
Tue Aug 26 22:58:34 CEST 2014

$ date -d"2014/08/26 22:58:34" "+%s"
1409086714
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Bash 将日期转换为时间戳 的相关文章

随机推荐