Конвертировать дату facebook в местный часовой пояс - PullRequest
4 голосов
/ 16 декабря 2010

Facebook возвращает эту дату

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

Однако я заметил, что это на 5 часов больше моего местного времени.Это должно быть:

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

Как я могу преобразовать это местное время в javascript?

Изменить

Послевидя некоторые ответы, я чувствую, что должен более четко определить, что я ищу.Как мне определить местный часовой пояс пользователя для форматирования даты?

Ответы [ 3 ]

4 голосов
/ 16 декабря 2010

Вот функция для разбора дат ISO8601 в Javascript, она также корректно обрабатывает смещение времени: http://delete.me.uk/2005/03/iso8601.html

4 голосов
/ 16 декабря 2010

Это может помочь вам:

взято из Преобразование местного времени в другой часовой пояс с этим 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'));
0 голосов
/ 26 июля 2012

Вот как я это сделал в Javascript

function timeStuff(time) {
      var date = new Date(time);
      date.setHours(date.getHours() - (date1.getTimezoneOffset()/60));  //for the timezone diff
      return date;
}
...