時刻同期標準のISO 8601形式で記述された文字列を
dateコマンドでよろしく扱う方法です。
他の時刻構文と同様、"-d"オプションでよろしく判定してくれます。
タイムゾーンは、使用中のシェルの設定が反映されます。
私のはJSTなので、よろしくやってくれます。
……スグレモノですね。
$ date -d "2020-06-10T12:30:55Z" Wed Jun 10 21:30:55 JST 2020
ちゃんとした構文でないと、スマートさが祟って意図しないタイムゾーンになる可能性があるので注意してください。
$ date -d "2020-06-10T12:30:55" Wed Jun 10 12:30:55 JST 2020
出力をISO8601とすることも当然可能です。
区切りを値として設定してください。
$ date -d "2020-06-10T12:30:55Z" -Iseconds 2020-06-10T21:30:55+09:00
何らかの事情でUCTにしたい場合、TZ=0と環境設定してあげるだけで済みます。
$ TZ=0 date -d "2020-06-10T12:30:55Z" -Iseconds 2020-06-10T12:30:55+00:00