0

utc 時間と localtime の間の bash diff を秒単位で取得する方法は?

4

3 に答える 3

3

%sエポック秒は明示的に UTC (または古い学校の場合は GMT) であるため、TZ を設定しても影響はありません。

トワルバーグの提案に似ています:

IFS=":" read hh mm < <(date +%:z)
echo $(($hh*3600+$mm*60))

dateコマンドに TZ を設定することで、これが意図したとおりに動作していることをテストできます。

IFS=":" read hh mm < <(TZ=Australia/Sydney date %:z)    # answer is 39600
IFS=":" read hh mm < <(TZ=US/Eastern date +%:z)         # answer is -18000

(これは厳密には bash の回答ではありません。GNU の日付または同等のものが必要なためです。5.90 以降では %:z および %::z がサポートされています)

于 2013-01-15T18:10:54.883 に答える
0

数秒で取得するには、おそらく少し作業を行う必要がありますがdate +%z、構成されたタイムゾーン オフセットは として報告され[+-]HHMMます。その出力を解析し、適切な計算を行って数秒で把握します。

于 2013-01-15T16:16:00.323 に答える