korn 쉘을 사용하여 현지 시간대에서 시드니 시간대로 시간을 변환하는 방법은 무엇입니까?

korn 쉘을 사용하여 현지 시간대에서 시드니 시간대로 시간을 변환하는 방법은 무엇입니까?

현지 시간대(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

관련 정보