サーバー時間をWebページに表示するための小さなコードを書きました。現時点ではマシンが 1 台しかないため、コードが機能しているかどうかをテストできません。
OS で構成されているものとは異なる時間構成を使用するようにブラウザーに指示する方法はありますか? Firefox のプラグインを使用してさまざまなロケールをテストしましたが、時間テストに同様のオプションがあるかどうか疑問に思います。
ありがとう。
残念ながら、JavaScript はオペレーティング システムによって設定されている現在のタイム ゾーンしか認識しません。Date
オブジェクトが特定のコンテキストで異なるタイム ゾーンを使用できるようにする機能はありません。タイムゾーンの変換を行うライブラリがいくつかありますが、それはあなたが求めているものには役に立ちません。
Linux、Mac OSX、およびその他の *NIX システムでは、TZ
環境変数を設定できます。詳細については、 Benedikt Köppel の回答を参照してください。
ただし、Windows ではこれを行う機能はありません。 一部のWindows プログラムは TZ 環境変数を取得する場合がありますが、IANA タイム ゾーン名をサポートするように接続されていないため、取得するプログラムは必ずしも正しく解釈するとは限りません。詳細については、こちらとこちらをご覧ください。
好評につき(冗談!)、解説。
Google Chrome は環境変数を読み取り、実行中のタイムゾーンを取得します。どうやら Chrome のすべてのインスタンスが値を共有しています (テストされていません)。タイムゾーンを強制するには、a) 環境変数を必要なタイムゾーンに設定する、b) Chrome の既存のインスタンスをすべて終了する、c) 確認のために現在のタイムゾーンを出力する、d) 目的のタイムゾーンで Chrome を起動する必要があります。
以下のシェル スクリプトは OS X でテストされていますが、他のシェル スクリプトでも動作するはずです。
export TZ='US/Pacific'
killall Chrome
date
open /Applications/Google\ Chrome.app
おそらく、コンピューターのタイムゾーンをそのままにして、サーバー設定を変更して、タイムゾーンの前後を反映する方がよいでしょう. これは通常、使用しているサーバーによっては非常に簡単です。