【问题标题】:Convert unix timestamp to hh:mm:ss:SSS (where SSS is milliseconds) in AWK在 AWK 中将 unix 时间戳转换为 hh:mm:ss:SSS(其中 SSS 是毫秒)
【发布时间】:2016-06-09 11:29:59
【问题描述】:

如何在 AWK 中将 unix 时间戳转换为 hh:mm:ss:SSS(其中 SSS 是毫秒)。

例如:

echo 1456478048306 > time
cat time | awk ....... > readable_time_format

【问题讨论】:

    标签: linux time awk timestamp unix-timestamp


    【解决方案1】:

    您可以为此使用 bash:

    #!/bin/bash
    ts="1456478048306"
    unix_epoch=${ts:0:-3}
    ms=${ts:((-3)):3}
    
    echo "$(date -d@"${unix_epoch}" +%H:%M:%S):${ms}"
    

    顺便说一句,当然你也可以使用awk。但是 awk 不允许在这里简化很多事情,算法或多或少是相同的:

    awk -v ts="1456478048306" '{
        unix_epoch=substr(ts, 0, length(ts)-3)
        ms=substr(ts, length(ts)-2, 3)
        print strftime("%H:%M:%S", unix_epoch) ":" ms
    }'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-10
      • 1970-01-01
      • 2016-03-04
      • 2013-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多