Как правильно отображать дату и время в AngularJS?
В выходных данных ниже показаны входные и выходные данные с фильтром даты AngularJS и без него:
In: {{v.Dt}}
AngularJS: {{v.Dt | date:'yyyy-MM-dd HH:mm:ss Z'}}
Это печатает:
In: 2012-10-16T17:57:28.556094Z
AngularJS: 2012-10-16T17:57:28.556094Z
Желаемый формат отображения -
2010-10-28 23:40:23 0400
или2010-10-28 23:40:23 EST
Ваш код должен работать так, как вы видите эту скрипку .
Вы должны убедиться, что у вас
v.Dt
правильный объект Date, чтобы он работал.или если dateFormat определен в области видимости как dateFormat = 'yyyy-MM-dd HH: mm: ss Z':
источник
Date
тип переменной. Timestamp long тоже хорошо работаетЯ знаю, что это старый предмет, но подумал, что стоит рассмотреть другой вариант.
Поскольку исходная строка не включает разграничитель «T», реализация по умолчанию в Angular не распознает его как дату. Вы можете принудительно использовать новую дату, но это немного неудобно для массива. Поскольку вы можете объединить фильтры вместе, вы можете использовать фильтр для преобразования введенных вами данных в дату, а затем применить фильтр date: к преобразованной дате. Создайте новый настраиваемый фильтр следующим образом:
Затем в разметке вы можете соединить фильтры вместе:
источник
вы можете получить фильтр «дата» следующим образом:
Это даст вам сегодняшнюю дату в желаемом формате.
источник
Вот фильтр, который будет принимать строку даты ИЛИ объект Date () javascript. Он использует Moment.js и может применять любую функцию преобразования Moment.js , например популярную 'fromNow'.
Так...
отобразит 11 ноября 2014 г.
будет отображаться 10 минут назад
Если вам нужно вызвать несколько мгновенных функций, вы можете связать их. Это преобразуется в UTC, а затем форматирует ...
https://gist.github.com/cmmartin/341b017194bac09ffa1a
источник
Вот несколько популярных примеров:
<div>{{myDate | date:'M/d/yyyy'}}</div>
7/4/2014<div>{{myDate | date:'yyyy-MM-dd'}}</div>
2014-07-04<div>{{myDate | date:'M/d/yyyy HH:mm:ss'}}</div>
04.07.2014 12:01:59источник
Вы видели раздел документации « Написание директив (короткая версия) » ?
HTML
JS
источник
Внутри контроллера формат можно отфильтровать, введя $ filter.
источник
Если вы хотите вывести что-то вроде «30 января 2017 г., 16:31:20», следуйте простому шагу.
step1 - объявить следующую переменную в контроллере js
step2 - отображение на html-странице, например
{{current_time | дата: 'средний'}}
источник
мы можем отформатировать дату на стороне просмотра в угловом формате, это очень просто ... проверьте пример ниже:
{{dt | date: "дд-ММ-гггг"}}
источник
Вы можете использовать
momentjs
для реализации фильтра даты и времени в angularjs. Например:Где дата в формате отметки времени.
источник
Добавить
$filter
зависимость в контроллер.источник
Я бы посоветовал вам использовать moment.js, у него хорошая поддержка форматирования даты в соответствии с местными стандартами.
создать фильтр, который внутренне использует метод moment.js для форматирования даты.
источник