Дополнительный час при заданных миллисекундах к дате фильтра

Я хочу установить обратный отсчет для шаблона, поэтому у меня в счетчике $ time_counter есть счетчик, значение которого составляет определенное количество миллисекунд, скажем, 5000 мс для этого примера.

Когда я пытаюсь отобразить это число как количество часов, минут и секунд в моем шаблоне, оно говорит мне 01h00m05s вместо 00h00m05s. Вот как я продолжаю:

{{ 5000 | date:'HH:mm:ss' }}

Это известная ошибка или мой синтаксис плох?

Вот скрипка: проблема фильтра даты

Я использую Angularjs 1.0.3

Спасибо!

1 ответ

Фильтр даты (в соответствии с документацией) предполагает, что часовой пояс данной даты относится к UTC, если ничего не указано, поэтому время, которое вы получаете, относится к utc из ваших заданных миллисекунд. Если вы измените его на такой формат, как "ММ-дд-гггг ЧЧ: мм: сс, вы увидите этот эффект более отчетливо, так как он будет относительно тестовой версии 1969 года, это напечатает '12-31-1969 17:00:05'для меня.

Чтобы получить результат, который вы ищете, вам нужно создать собственный фильтр для этого, который является фильтром счетчика времени. Вы можете следовать руководству по адресу http://docs.angularjs.org/tutorial/step_09 которое поможет вам в его создании.

Другие вопросы по тегам