如何从字符串中获取值,然后将这些值转换为不同的时区?

如何从字符串中获取值,然后将这些值转换为不同的时区?

数据格式如下:

2019 12 18 18 15 05     TIMESTAMP
2019 12 18 23 15 05     TIMESTAMP

字符串中的这些值分别是年、月、日、时、分、秒。我尝试编写awk脚本。我可以提取这些值,而无需将 ISO 8601 日期格式 (UTC) 转换为 UTC+02:00。

我尝试过的:

awk '/TIMESTAMP/ {print strftime("%FT%T", mktime($1" "$2" "$3" "$4" " $5" "$6))}'
2019-12-18T18:15:05 # UTC
2019-12-18T23:15:05 # UTC

期望输出使用awk

2019-12-18T20:15:05 # UTC+02:00:00
2019-12-19T01:15:05 # UTC+02:00:00

答案1

感谢@steeldriver 问题已解决

awk '/TIMESTAMP/ {print strftime("%FT%T",(2*3600) + mktime($1" "$2" "$3" "$4" " $5" "$6))}'

相关内容