【问题标题】: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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-16
      相关资源
      最近更新 更多