Ответ 1
Используйте формат date filter
следующим образом:
<mydate>{{item.date * 1000 | date:'yyyy-MM-dd HH:mm:ss Z'}}</mydate>
Я получаю данные из базы данных и отображаю ее:
<ul>
<li ng-repeat="item in items>
<mydate>{{item.date}}</mydate>
</li>
</ul>
Где {{item.date}}
- дата Unix, такая как 1374843600. Как установить формат даты с помощью директив AngularJS? Возможно ли это?
Когда я пытался это сделать, я получал значение tag mydate - {{item.date}}
Используйте формат date filter
следующим образом:
<mydate>{{item.date * 1000 | date:'yyyy-MM-dd HH:mm:ss Z'}}</mydate>
Я столкнулся с проблемой с unix-временем, отформатированным как число секунд от начала эпохи или как число миллисекунд, которое используется в JavaScript. Так, строго говоря, AngularJS не конвертирует временную метку Unix в Date, а число с миллисекундами, которое в 1000 раз больше, поэтому сначала вам нужно будет умножить свой номер ввода на 1000, например:
<mydate>{{item.date * 1000 | date:'yyyy-MM-dd HH:mm:ss Z'}}</mydate>
В противном случае ваша дата будет неправильной.
Если у вас есть временная метка Unix, вам, вероятно, придется умножить метку времени на 1000, поскольку временная метка Unix находится в секундах, а для фильтра даты в формате AngularJs требуется миллисекунды.
vm.milliseconds = Date('1441981121' * 1000);
затем используйте функцию $filter()
var date = $filter('date')(vm.milliseconds, 'd MMMM yyyy');
или вы можете использовать в ng-bind
<span ng-bind="myController.milliseconds | date : 'd MMMM yyyy'"></span>
Вы должны использовать фильтр даты, который уже предоставлен angular: здесь
yourapp.filter('timestampToDate', function () {
return function (timestamp) {
var date = new Date(timestamp * 1000);
var dateObject = date.getFullYear() +'/'+ ('0' + (date.getMonth() + 1)).slice(-2) +'/'+ ('0' + date.getDate()).slice(-2);
return dateObject;
};
});
Использование: {{timestamp | timestampToDate}}
Существует директива для того, что называется rsTime.
<rs-time start-time="1478513323" digital-format="'ddd MMM d h:mm TT'"></rs-time>
Проверьте демо на Plunker.
Ниже представлены разные формы времени:
M/d/y - 11/7/2016
HH:mm:ss - 16:02:31 (24hrs formate)
hh:mm:ss TT - 04:03:10 PM
ddd MMM d h:mm TT - Mon Nov 7 at 4:04 PM
Для документации посетите Github