web-dev-qa-db-ja.com

文字列から値を取得し、これらの値を別のタイムゾーンに変換するにはどうすればよいですか?

次のようなデータ形式:

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
chess_freak

@steeldriverのおかげで問題は解決しました

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

2
chess_freak