繁体   English   中英

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

[英]Convert unix timestamp to hh:mm:ss:SSS (where SSS is milliseconds) in AWK

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

例如:

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

您可以为此使用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
}'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM