如何将纪元转换为 yyyy-mm-ddThh:mm:ss linux

How to convert epoch to yyyy-mm-ddThh:mm:ss linux

我想使用 linux?

将“1444039517190”之类的纪元转换为 yyyy-mm-ddThh:mm:ss

我试过使用以下脚本,但它给出了错误的输出:

echo 1444039517190 | awk '{ print strftime("%Y-%m-%d %H:%M:%S",) }'

输出:

47729-10-16 09:06:30

您的时间戳不是以秒为单位;尝试:

echo 1444039517190 | awk '{ print strftime("%Y-%m-%d %H:%M:%S",/1000) }'

或者如果您不介意失去精度:

date --date=@$((1444039517190 / 1000)) +%Y-%m-%d\ %H:%M:%S

并检查您的 strftime(3) 版本是否支持较短的格式 %F %T 而不是 %Y-%m-%d %H:%M:%S

为什么不直接使用date?您还必须除以 1000。

date -d @1444039517.190

输出

Mon Oct  5 12:05:17 CEST 2015