9

LinuxシェルスクリプトでGMTから特定のタイムゾーン(EDTやAmerica / New_Yorkなどの識別子)のオフセットを取得する方法はありますか?

4

2 に答える 2

18

TZ環境変数をエクスポートし、タイムゾーンオフセットの日付を%zで出力します。

#!/bin/sh
export TZ=":Pacific/Auckland"
date +%z
于 2010-05-13T01:59:44.060 に答える
4

これはそれを行うための回り道ですが、機能します(大まかにこれに基づいています):

#!/bin/bash
ZONE=$1
TIME=$(date +%s --utc -d "12:00:00 $ZONE")
UTC_TIME=$(date +%s --utc -d "12:00:00")
((DIFF=UTC_TIME-TIME))
echo - | awk -v SECS=$DIFF '{printf "%d",SECS/(60*60)}'

それをとして保存しtzoffset、実行可能にして、次のように実行します。

tzoffset PST

現在の形式のこのスクリプトは、省略されたタイムゾーンのみを処理します。

于 2010-05-13T02:10:50.143 に答える