システム時間を変更せずに別のタイムゾーンの現在時刻を取得するには? [コピー]

システム時間を変更せずに別のタイムゾーンの現在時刻を取得するには? [コピー]

別のタイムゾーンの時間を取得するために「日付」を使用しようとしましたが、失敗しました。 Googleで見つけたすべての方法にはシステムのタイムゾーンを変更することが含まれますが、これは私が望むものではありません。

私のタイムゾーンとは異なる現在時刻を返すコマンドがありますか?

答え1

タイムゾーンはにリストされています/usr/share/zoneinfo。たとえば、シンガポールの現在時刻を希望する場合は、次のように転送できますdate

TZ=Asia/Singapore date
Sun Jun 14 17:17:49 SGT 2015

このプロセスを簡素化するために、異なる時間帯でローカル時間を頻繁に設定する必要がある場合は、シェルのrcファイルにいくつかの機能を追加できます(例:).bashrc

zones() { ls /usr/share/zoneinfo/"$1" ;}
zone() { TZ="$1"/"$2" date; }

まず、その情報を含む地域の正しいゾーンのリストを印刷してから、現地時間を印刷できます。

答え2

あなたはそれを使用することができますzdump

NAME
       zdump - timezone dumper

SYNOPSIS
       zdump [ --version ] [ --help ] [ -v ] [ -c [loyear,]hiyear ] [ zonename ... ]

DESCRIPTION
       Zdump prints the current time in each zonename named on the command line.

例:

$ zdump ~$ zdump Iceland
Iceland  Sun Jun 14 09:40:30 2015 GMT

$ zdump Japan
Japan  Sun Jun 14 18:34:36 2015 JST

タイムゾーンデータファイルはにあります/usr/share/zoneinfo

いつでも印刷できますfind /usr/share/zoneinfo/ -type f | xargs zdump。ドバイの具体的な例をご覧ください。

$ find /usr/share/zoneinfo/ -type f | xargs zdump | grep -i Dubai
/usr/share/zoneinfo/right/Asia/Dubai                      Sun Jun 14 13:38:26 2015 GST
/usr/share/zoneinfo/Asia/Dubai                            Sun Jun 14 13:38:51 2015 GST

あなたはそれを使用することができますgworldclock: -

NAME
       gworldclock - Displays time and date in specified time zones.

SYNOPSIS
       gworldclock [ -f FILE ]

DESCRIPTION
       gworldclock  displays  the  time  and  date of specified time zones using a GTK+ interface. It also allows the
       zones to be "rendezvoused" or "synchronised" to a time other than the current time.

スクリーンショット

答え3

ほとんどすべてのプログラムはTZ環境変数を使用してタイムゾーンを決定し、変数が設定されていない場合はシステム設定に戻ります。

TZ=Pacific/Yap date
TZ=Pacific/Yap xclock

ほとんどすべてのオペレーティングシステム(Windowsを含む)で使用されます。IANAデータベース。ほとんどのタイムゾーン名は次の形式です。Continent/Town都市通常、独自のタイムゾーンルールを定義する国または地域で最大の都市です。CET中央ヨーロッパ標準時やEST東部標準時など、いくつかの略語が定義されていますが、ロケール間の衝突により常に予想されるものとは異なる場合があります(ESTはオーストラリア時間ではなく米国時間です)。タイムゾーンルールは通常、ファイルまたは類似の場所によって/usr/share/zoneinfo定義されます/usr/lib/zoneinfo/usr/lib/locale/TZ

持つ基準変数の値も同じですTZ。 UTCからの固定オフセットが必要な場合TZ=-4(GMTから東に4時間)または(GMTから西に9.5時間)TZ=9:30などの値を使用できます。

関連情報