如何将纪元转换为 yyyy-mm-ddThh:mm:ss linux
Posted
技术标签:
【中文标题】如何将纪元转换为 yyyy-mm-ddThh:mm:ss linux【英文标题】:How to convert epoch to 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
【问题讨论】:
预期结果是什么? 【参考方案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
【讨论】:
以上是关于如何将纪元转换为 yyyy-mm-ddThh:mm:ss linux的主要内容,如果未能解决你的问题,请参考以下文章
SQL - 将 yyyy-MM-ddThh:mm:ssZ 转换为没有时间的简单日期
如何使用日期格式化程序为“YYYY-MM-DDThh:mm[:ss[.uuuuuu]][+HH:MM|-HH:MM|Z]”转换日期?
sql server如何批量将yyyyMMddHHmmss字符串时间格式转换成yyyy-MM-ddTHH:mm:ss