我需要将日期从格式为“yyyy/mm/dd hh:mm:ss TZ”的字符串转换为 UNIX 时间(TZ = 时区)。
到目前为止我所做的是将没有时区的“yyyy/mm/dd hh:mm:ss”格式的日期转换为时间戳
dateYMD="2019/2/28 12:23:11.46"
newt=$(date -d "${dateYMD}" +"%s")
echo ${newt}
我得到以下结果。
1551349391
我的努力是找到如何将时区和日期/时间转换为时间戳(unix time)。例如,我需要 4 个与 dateYMD 具有相同日期/时间但位于 4 个不同时区的变量,以便它们的时间戳会不同。
这是我尝试过的最新版本
dateYMD="2017/09/09 08:58:09"
timez=$(TZ=Australia/Sydney date -d @$(date +%s -d "${dateYMD}"))
unixTimez=$( date --date "${timez}" +"%s" )
echo ${unixTimez}
这向我显示了以下错误
date: invalid date ‘чт фев 28 21:23:11 AEDT 2019’
你不需要打电话date
两次。只需调用一次TZ
设置为该变量所需的时区。
timesydney=$(TZ=Australia/Sydney date -d "$dateYMD" +%s)
timenyc=$(TZ=US/Eastern date -d "$dateYMD" +%s)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)