2010-12-16 2 views
4

Facebook возвращает эту датуПреобразовать дата facebook местному часовому поясу

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

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

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

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

Редактировать

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

+0

«+0000» - это часовой пояс. Если вы находитесь в PST, эта часть будет «-0500». – Rup 2010-12-16 14:59:26

ответ

4

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

+0

Точно то, что мне нужно. Благодарю. – 2010-12-16 15:17:05

4

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

взяты из Convert the local time to another time zone with this 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

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

function timeStuff(time) { 
     var date = new Date(time); 
     date.setHours(date.getHours() - (date1.getTimezoneOffset()/60)); //for the timezone diff 
     return date; 
} 
Смежные вопросы