Как установить целевое время обратного отсчета в заданный часовой пояс?

Я работаю над веб-страницей обратного отсчета для огромного обновления игры, которая будет большой вещью и еще много чего. Этот обратный отсчет работает в настоящее время с этим кодом, получая время компьютера, конечное время и разницу во времени:

var christmas = new Date("December 25, 2014 00:01:00");
var now = new Date();
var timeDiff = christmas.getTime() - now.getTime();

Мне нужно, чтобы время для christmas целей было в том же часовом поясе, независимо от того, на что настроен часовой пояс вашего компьютера.

2 ответа

Использовать UTC:

var xmas = new Date('2014-12-25T00:00:01.0000000');
var utc = new Date( xmas.getUTCFullYear(), xmas.getUTCMonth(), xmas.getUTCDate(), xmas.getUTCHours(), xmas.getUTCMinutes(), xmas.getUTCSeconds() );
alert('local diff: ' + (xmas.getTime() - new Date().getTime()));
alert('utc diff: ' + (utc.getTime() - new Date().getTime()));


Прежде всего (просто шутка) X-Mas Time Is "25 декабря 2014 00:00:01", и если ваша страница будет динамически (например, PHP), поместите дату на стороне сервера в источник HTML следующим образом:

И не имеет значения, в какое время ваши посетители приходят из его всегда будут одинаковыми

licensed under cc by-sa 3.0 with attribution.