タイムスタンプに基づいてシステムタイムゾーンを設定する

タイムスタンプに基づいてシステムタイムゾーンを設定する

次の文字列(Javascriptの出力)に基づいてシステムの日付とタイムゾーンを設定したいと思いますnew Date().toString()

Fri Aug 01 2014 12:13:27 GMT+0200 (CEST)

Debian システムでタイムゾーンを設定する標準的な方法は、tzselectゾーンファイルを実行またはシンボリックリンクすることです。どちらの場合も、大陸/都市別のタイムゾーンを知る必要があります。/usr/share/zoneinfo/etc/localtime

GMTオフセットのみに基づいてタイムゾーンを設定する簡単な方法はありますか?

ベストアンサー1

通常、その日付文字列には、その日付が生成されたタイムゾーンを知るのに十分な情報がありません。+0200問題があることを知らせる唯一の時間帯は次のとおりです。UTCより2時間高速です。実際のタイムゾーンを知っているように、オフセットが一年中または毎年変わるかどうかはわかりません。その部分に関しては、CESTこれらの短いタイムゾーン名は一意ではありません(複数のタイムゾーンはすべてそれ自体と呼ばれることがありますCEST)。

あなたのコメントで指摘したように、文字列を使用してEtc/*常にUTCから固定オフセットを維持する時間帯の1つを推測できますが、それはすべてです。また、Etc/*ネパールの +0545 など、すべての可能なオフセットが時間帯の形で存在するわけではありません。

特定のアプリケーションのみをターゲットにする必要があるとコメントされているので、現在のプロセス(アプリケーションプロセス)に対してのみタイムゾーンを変更することに興味があるかもしれません。TZ環境変数の使用?これにより、タイムゾーンラインを設定できます。

TZ=CEST-2

引用した日付文字列には、これを行うために必要なすべてが含まれています。 (オフセットの反対の記号に注意してください。)

おすすめ記事