37

JavaScript の Date() 関数はローカルの日付と時刻しか返せないようです。GMT-9 など、特定のタイムゾーンの時間を取得する方法はありますか?

@ Esailja と @D3mon-1stVFW を組み合わせて、私はそれを理解しました: 2 つのタイム ゾーン オフセットが必要です。

var today = new Date();  
var localoffset = -(today.getTimezoneOffset()/60);
var destoffset = -4; 

var offset = destoffset-localoffset;
var d = new Date( new Date().getTime() + offset * 3600 * 1000)

例はここにあります: http://jsfiddle.net/BBzyN/3/

4

5 に答える 5

28
var offset = -8;
new Date( new Date().getTime() + offset * 3600 * 1000).toUTCString().replace( / GMT$/, "" )

"Wed, 20 Jun 2012 08:55:20"

<script>
  var offset = -8;

  document.write(
    new Date(
      new Date().getTime() + offset * 3600 * 1000
    ).toUTCString().replace( / GMT$/, "" )
  );
</script>

于 2012-06-20T16:56:43.433 に答える
5
var today = new Date();  
var offset = -(today.getTimezoneOffset()/60);  
于 2012-06-20T16:50:25.650 に答える
0

https://github.com/mde/timezone-jsには、TimezoneJS と簡単に呼ばれるタイムゾーンで作業するためのシンプルなライブラリがあります。

于 2013-05-03T09:26:53.890 に答える
-1

いつでも GMT 時刻を取得できます (クライアントの時計が正しい限り)。

任意のタイムゾーンで日付を表示するには、オフセットを追加した後、UTC の時、分、秒から文字列を作成します。

于 2012-06-20T16:55:06.537 に答える