0
a = new Date();
Sun Apr 08 2012 16:58:03 GMT+0530 (IST)

現在のUTC時刻を取得する方法はありますか?私は数学をやってオフセットを取得することを考えました:

b = a.getTimezoneOffset()
-330

次に減算し、値を取得します。

c = a - b
1333884483552

cしかし、再びa見た目は難しいです。だから質問: javascriptで現在のUTC時刻を取得するにはどうすればよいですか?

4

3 に答える 3

3

まず、DateJavaScriptのオブジェクトはタイムゾーンに依存しません。エポックからのミリ秒数のみを格納します。さらに、常にブラウザのタイムゾーンtoString()get*()メソッドを使用します。Date別のタイムゾーンでインスタンスを作成することはできません。

したがって、単純getUTC*()に一連のメソッドを使用します。

new Date().getUTCHours()
new Date().getUTCMinutes()
//...

UTCで時間を取得します。

最後になりましたが、コードが壊れています。a変数Dateはここでミリ秒を表し、キャストされます:c = a - b。ただしb、はに等しいa.getTimezoneOffset()。タイムゾーンのオフセットは分単位です。ミリ秒から分を引いています...

も参照してください

于 2012-04-08T11:38:33.800 に答える
1

toUTCString文字列が必要な場合は、関数を使用できます。

new Date().toUTCString()
于 2012-04-08T11:40:51.167 に答える
0

タイムゾーンの検出に使用できるjstimezonedetectというプラグインがあります。あなたはここでそれを見つけることができます

または、次のような日付のUTCメソッドを使用します

var now = new Date(); 
var now_utc = new Date(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate(),  now.getUTCHours(), now.getUTCMinutes(), now.getUTCSeconds());

デモ

出力

日付{2012年4月8日日曜日18:31:50GMT+ 0545(ネパール標準時)}

日付{2012年4月8日日曜日12:46:50GMT+ 0545(ネパール標準時)}

于 2012-04-08T11:38:14.020 に答える