【问题标题】:How to convert epoch to yyyy-mm-ddThh:mm:ss linux如何将纪元转换为 yyyy-mm-ddThh:mm:ss linux
【发布时间】:2016-01-03 09:21:22
【问题描述】:
我想使用 linux 将像“1444039517190”这样的纪元转换为 yyyy-mm-ddThh:mm:ss?
我尝试使用以下脚本,但输出错误:
echo 1444039517190 | awk '{ print strftime("%Y-%m-%d %H:%M:%S",$1) }'
输出:
47729-10-16 09:06:30
【问题讨论】:
标签:
linux
date
epoch
strftime
【解决方案1】:
您的时间戳不是以秒为单位的;试试:
echo 1444039517190 | awk '{ print strftime("%Y-%m-%d %H:%M:%S",$1/1000) }'
或者,如果您不介意丢失精度:
date --date=@$((1444039517190 / 1000)) +%Y-%m-%d\ %H:%M:%S
并检查您的strftime(3) 版本是否支持较短的格式%F %T 而不是%Y-%m-%d %H:%M:%S。
【解决方案2】:
为什么不直接使用date?您还必须除以 1000。
date -d @1444039517.190
输出
Mon Oct 5 12:05:17 CEST 2015