Расчет временных интервалов в Javascript / ECMAScript - PullRequest
4 голосов
/ 20 июня 2010

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

Я хочу преобразовать это значение в миллисекундах в значение временного интервала, которое я могу показать пользователям.

Я знаю, что могу сделать это наивным способом с арифметикой по модулю и с ручным отображением результата пользователю, но я хочу сделать это, используя API Date (), встроенный в Javascript / ECMAScript.

Вот как я его генерирую:

var timespanInMS = timeInFuture.getTime() - now.getTime();
var diff = new Date( timespanInMS );

alert( "Hours: " + diff.getHours() + " Minutes: " + diff.getMinutes() );

Однако это работает только тогда, когда компьютер пользователя находится в часовом поясе UTC. Если они находятся в Тихом океане (UTC-8), тогда значение diff отключено на 16 часов (даже если значение timespanInMS одинаково).

Спасибо

1 Ответ

4 голосов
/ 20 июня 2010

Возможно getUTCHours и getUTCMinutes могут работать? См. https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date для получения дополнительной информации.

...