AngularJs ng - если сравнивать даты
Я хочу сравнить две даты в ng - если это так, как выглядит мой нефритовый файл.
li.list-group-item(ng-if="app.Segments[0].StartDate.getTime() > date.getTime()")
div.row
div.col-xs-12
span
i.fa.fa-plus-square
Этот код, мы надеемся, добавит li к моему ui, если начальная часть первого сегмента будет после сегодняшнего дня.
$scope.date = new Date();
$scope.app = {
Segments: [{
StartDate: 2014-11-15T04:00:00.000Z
EndDate: 2014-11-20T04:00:00.000Z
},
{
StartDate: 2014-11-21T04:00:00.000Z
EndDate: 2014-11-25T04:00:00.000Z
}]
}
Есть ли способ выполнить эту работу?
Ответы
Ответ 1
Если они являются объектами даты, просто сравните их непосредственно без .getTime()
$scope.date2005 = new Date('2005/01/01');
$scope.date2006 = new Date('2006-01-01T04:00:00.000Z');
<div ng-if="date2005 > date2006">date2005 > date2006</div> <!-- won't show -->
<div ng-if="date2006 > date2005">date2006 > date2005</div> <!-- will show -->
http://plnkr.co/edit/fNB11U6KmFszdV3lMAPJ?p=preview
Ответ 2
Angular может напрямую сравнивать дату, если они хорошо сформированы:
Вид
li.list-group-item(ng-if="app.Segments[0].StartDate > now")
контроллер
$scope.now = new Date();
$scope.now.toISOString();