ローカルタイムゾーン(CET / CEST)からシドニータイムゾーン(AEDT / AEST)に時間を変換する必要があります。私は次のことを試しました:
export date=$(date "+%Y-%m-%d %H:%M:%S AEDT")
date "+%Y-%m-%d %H:%M:%S %Z" -d "$date"
動作せず、「AEDT」を認識していませんが、「UTC」で試してみましたが、動作しました。 「AEDT」(/usr/share/zoneinfosで見つかった)を「Australia / Sydney」に変更しようとしましたが、結果は同じでした。
アドバイスをいただきありがとうございます。私はkornシェルを使用しています。ありがとうございます。
答え1
ローカルタイムゾーンのランダム時間を別のタイムゾーンの時間に変換するには、次の手順を実行します。
$ date -d @$(date +%s -d '2014/10/01 12:34:56')
Wed Oct 1 12:34:56 CEST 2014
$ TZ=Australia/Sydney date -d @$(date +%s -d '2014/10/01 12:34:56')
Wed Oct 1 20:34:56 EST 2014
私は、特定の時点を渡す自然な方法としてUnix時代以降の秒数を使用します。
答え2
複数のスクリプト言語が使用されます。
perl -MDateTime -E 'say DateTime->now(time_zone => "local")->set_time_zone("Australia/Sydney")->strftime("%F %T %Z")'
echo 'puts [clock format [clock seconds] -format {%Y-%m-%d %T %Z} -timezone ":Australia/Sydney"]' | tclsh