如何将日志行时间戳转换为不同的时区?

如何将日志行时间戳转换为不同的时区?

我有一些日志,每行开头都有时间戳 ( YYYY-MM-DD hh:mm:ss)。时间戳是 UTC 时间,但我经常想知道在我的当地时间发生了什么事情。我可以在头脑中进行转换,但这需要付出努力。

通常我会将日志通过管道传输到 grep 来挑选出我需要的内容。我可以通过管道将时间戳从一个时区转换为另一个时区,同时保持线路的其余部分完好无损吗?

答案1

这是 awk 中一个可怕的低效解决方案......

{
        cmd="date -d \"" $1 " " $2 " UTC\" \"+%F %H:%M:%S %Z\"";
        cmd | getline u
        $1="";
        $2="";
        print u $0;
}

就我个人而言,我会用支持 strtotime() 的更传统的编程语言编写一些东西

相关内容