我有一个人类可读的时间
08-18-2016 09:18:25
我希望使用 shell 脚本将其转换为纪元时间。
我尝试过date "+%s"
但我收到错误
日期:无效日期“08-18-2016 09:32:42”
将日期时间转换为纪元的规范方法是使用:
date "+%s" # for this moment's date
date -d" some date" "+%s" # for a specific date
但是,在这种情况下,格式无效:
$ date -d"08 18 2016 09:18:25" "+%s"
date: invalid date ‘08 18 2016 09:18:25’
然后,您需要先稍微按摩一下绳子,然后再将其传递到date -d
.
这会将前两个空格转换为斜杠:
$ sed 's# #/#;s# #/#' <<< "08 18 2016 09:18:25"
08/18/2016 09:18:25
所以这有效:
$ date -d"$(sed 's# #/#;s# #/#' <<< "08 18 2016 09:18:25")" "+%s"
1471504705
或者使用变量:
$ nice_date=$(sed 's# #/#;s# #/#' <<< "08 18 2016 09:18:25")
$ date -d"$nice_date" "+%s"
1471504705
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)