Получить текущую временную метку из определенного часового пояса - PullRequest
6 голосов
/ 06 марта 2012

Есть ли простой способ получить метку времени Unix в JavaScript из определенного часового пояса? например, я хочу, чтобы клиент отправил мне метку времени Unix, но я хочу, чтобы она соответствовала моему часовому поясу.

спасибо!

Ответы [ 3 ]

5 голосов
/ 06 марта 2012

Почему бы просто не отправить дату в формате UTC, а затем преобразовать ваш часовой пояс на сервере?

var utcEpochSeconds = dateObj.getTime() + (dateObj.getTimezoneOffset() * 60000);
1 голос
/ 06 марта 2012

Чтобы это произошло, вам нужно применить смещение часового пояса ко времени, а затем удалить свое смещение из значения (проверьте это, я полагаю из памяти):

var now = new Date(),
    offset = -(now.getTimezoneOffset() * 60 * 1000), // now in milliseconds
    userUnixStamp = +now + offset;

Теперь смещениеот вашего:

var now = new Date(),
    offset = now.getTimezoneOffset() * 60 * 1000,
    yourUnixStamp = userUnixStamp - offset;
1 голос
/ 06 марта 2012

Используйте toISOString, чтобы получить метку времени UTC.

var date = new Date();
date.toISOString(); // EST would be 6 hour diff from GMT
...