80

サーバー時間をWebページに表示するための小さなコードを書きました。現時点ではマシンが 1 台しかないため、コードが機能しているかどうかをテストできません。

OS で構成されているものとは異なる時間構成を使用するようにブラウザーに指示する方法はありますか? Firefox のプラグインを使用してさまざまなロケールをテストしましたが、時間テストに同様のオプションがあるかどうか疑問に思います。

ありがとう。

4

11 に答える 11

32

残念ながら、JavaScript はオペレーティング システムによって設定されている現在のタイム ゾーンしか認識しません。Dateオブジェクトが特定のコンテキストで異なるタイム ゾーンを使用できるようにする機能はありません。タイムゾーンの変換を行うライブラリがいくつかありますが、それはあなたが求めているものには役に立ちません。

Linux、Mac OSX、およびその他の *NIX システムでは、TZ環境変数を設定できます。詳細については、 Benedikt Köppel の回答を参照してください。

ただし、Windows ではこれを行う機能はありません。 一部のWindows プログラムは TZ 環境変数を取得する場合がありますが、IANA タイム ゾーン名をサポートするように接続されていないため、取得するプログラムは必ずしも正しく解釈するとは限りません。詳細については、こちらこちらをご覧ください。

于 2013-05-08T20:11:13.447 に答える
8

好評につき(冗談!)、解説。

Google Chrome は環境変数を読み取り、実行中のタイムゾーンを取得します。どうやら Chrome のすべてのインスタンスが値を共有しています (テストされていません)。タイムゾーンを強制するには、a) 環境変数を必要なタイムゾーンに設定する、b) Chrome の既存のインスタンスをすべて終了する、c) 確認のために現在のタイムゾーンを出力する、d) 目的のタイムゾーンで Chrome を起動する必要があります。

以下のシェル スクリプトは OS X でテストされていますが、他のシェル スクリプトでも動作するはずです。

export TZ='US/Pacific'

killall Chrome
date
open /Applications/Google\ Chrome.app
于 2015-02-08T19:10:47.897 に答える
4

ブラウザ レベルでスプーフィングできるタイム ゾーン拡張機能は多数あります。私は現在使用しています ここに画像の説明を入力

拡張機能のクリックオプションを追加して確認した後 ここに画像の説明を入力

両方が完了したら、任意の Web サイトに移動して開発者ツールを開き、以下のコマンドを実行して確認します

new Date().toLocaleTimeString()
于 2021-02-22T13:31:50.460 に答える
-3

おそらく、コンピューターのタイムゾーンをそのままにして、サーバー設定を変更して、タイムゾーンの前後を反映する方がよいでしょう. これは通常、使用しているサーバーによっては非常に簡単です。

于 2015-09-16T22:01:33.680 に答える