2009-12-15 9 views
3

В JavaScript, у меня есть метки, которые я обработки, как так:JS часовой пояс преобразования

var origUnixTimestamp = (date * 1000); 

Наряду с этим отметкой времени у меня есть смещение UTC (-5, хотя это переменная). Я хочу преобразовать origUnixTimestamp в смещение UTC пользователей, используя метод getTimezoneOffset() Date.

Мне просто интересно, как я принимаю во внимание исходные временные метки UTC offset (-5, например) и преобразует их в текущее смещение UTC пользователя. Я предполагаю, что это довольно просто, но на данный момент он деформирует мой мозг.

ответ

0

This link имеет инструкции для преобразования локального времени:

// 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); 
3

Javascript делает это для вас. Все даты, хранящиеся в объекте Date, уже конвертированы в правильный часовой пояс (просто передайте свою эпоху конструктору). Тот же объект Date имеет возможность работать с датой эпохи и UTC.

var some_date = new Date(epoch); 
var time = some_date.getDay(); // will be different in different zones 
some_date.setDay(22); // to set day 
var origUnixTimestamp = some_date.getTime(); //returns you epoch 
Смежные вопросы