4

Facebookはこの日付を返します

2010-12-16T14:39:30+0000

しかし、現地時間より 5 時間進んでいることに気付きました。そのはず:

2010-12-16T09:39:30+0000

これをJavaScriptで現地時間に変換するにはどうすればよいですか?

編集

いくつかの回答を見て、自分が探しているものをもっと明確に定義する必要があると感じました。ユーザーのローカル タイム ゾーンを特定して日付をフォーマットするにはどうすればよいですか?

4

3 に答える 3

4

これはあなたを助けるかもしれません:

この JavaScript を使用して現地時間を別のタイム ゾーンに変換します

// function to calculate local time
// in a different city
// given the city's UTC offset
function calcTime(city, offset) {

    // create Date object for current location
    d = new Date();

    // convert to msec
    // add local time zone offset 
    // get UTC time in msec
    utc = d.getTime() + (d.getTimezoneOffset() * 60000);

    // create new Date object for different city
    // using supplied offset
    nd = new Date(utc + (3600000*offset));

    // return time as a string
    return "The local time in " + city + " is " + nd.toLocaleString();

}

// get Bombay time
alert(calcTime('Bombay', '+5.5'));

// get Singapore time
alert(calcTime('Singapore', '+8'));

// get London time
alert(calcTime('London', '+1'));
于 2010-12-16T15:00:40.737 に答える
4

Javascript で ISO8601 日付を解析する関数を次に示します。時間オフセットも正しく処理します: http://delete.me.uk/2005/03/iso8601.html

于 2010-12-16T15:08:20.163 に答える
0

これが私がJavascriptでそれをした方法です

function timeStuff(time) {
      var date = new Date(time);
      date.setHours(date.getHours() - (date1.getTimezoneOffset()/60));  //for the timezone diff
      return date;
}
于 2012-07-25T23:38:34.160 に答える