4

この形式の文字列 Date があります。

"2012-07-22T08:00:00Z"

しかし、その文字列から日付を作成しようとすると:

new Date("2012-07-22T08:00:00Z");  

私は得る:

日付 {Sun Jul 22 2012 01:00:00 GMT-0700}

日付のタイムゾーンをローカルタイムゾーンに変更しているようです。7時間で時間を短縮しているため(GMT-0700

日付オブジェクトを utc で適切な時刻 ( 08:00:00 ) に保持するにはどうすればよいですか?

前もって感謝します!!!

4

3 に答える 3

3

Date の toString() メソッドは現在のタイムゾーンに合わせてフォーマットされた日付を返すため、そのような日付のみを表示しています。内部表現は、タイム ゾーン ニュートラルのままです。試してみてくださいnew Date("2012-07-22T08:00:00Z").toUTCString()

Javascript Dates には、現在のタイム ゾーンまたは UTC を使用して値を取得および設定するためのメソッドが多数あるため、UTC を使用して計算または印刷する必要がある場合は、それらを使用できます。

于 2012-07-24T14:59:11.297 に答える
1

私の頭の上から:

function dateToUTC( date ) { 
    return new Date( 
            date.getUTCFullYear(),
            date.getUTCMonth(),
            date.getUTCDate(),
            date.getUTCHours(),
            date.getUTCMinutes(), 
            date.getUTCSeconds()
    ) 
};

かなり非効率なようですが…

于 2012-07-24T15:02:26.553 に答える
1

UTC と GMT は同じタイム ゾーンのようです。

http://geography.about.com/od/timeandtimezones/a/gmtutc.htm

于 2012-07-24T14:54:47.333 に答える