クライアントのタイムゾーンを取得する関数を作成できる人、次のような戻り値:EDT
EST
IST
など
6 に答える
toTimeString()
タイムゾーン名で時間を与えるメソッドは、以下を試してください...
var d=new Date();
var n=d.toTimeString();
ouput
03:41:07 GMT+0800 (PHT) or 09:43:01 EDT
デモ
また
チェック: JavaScript を使用した自動タイムゾーン検出
jstz.min.js をダウンロードして、HTML ページに関数を追加します。
<script language="javascript">
function getTimezoneName() {
timezone = jstz.determine_timezone()
return timezone.name();
}
</script>
タイム ゾーン値を使用する場合は、Date().getTimezoneOffset() 関数を使用し、この URLの timeanddateからハッシュ テーブルを作成して関連付けます。
Date オブジェクトのメソッドを呼び出した結果を見ると、toString
「Tue Apr 24 2012 23:30:54 GMT+1000 (AUS Eastern Standard Time)」のような値が得られます。これは、システム ロケールの設定によって異なります。
そこから、括弧内の各大文字を一致させることができます。
var paren = new Date().toString().match(/\(.+\)/);
return paren ? paren[0].match(/([A-Z])/g).join("") : "";
問題は、すべてのブラウザーに括弧で囲まれた値が含まれるわけではないということです。
既知の Java プラグインを使用して Firefox をターゲットにしている場合はjava
、Javascript のオブジェクトを利用して、名前 (「America/Los_Angeles」など) に基づいて新しい TimeZone (java.util.TimeZone) オブジェクトを作成し、getDisplayName
名前を付ける方法。