2014-10-18 24 views
11

Iki gün içinde ng ile karşılaştırmak istiyorum. Eğer bu yeşim dosyam gibi görünüyor.AngularJs ng-tarihlerini karşılaştırırsanız

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 

Bu kod, ilk segmentin başlangıcının bugün sonra gerçekleşmesi durumunda, ui'ye bir li ekleyecektir.

$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 
    }] 

} 

Bu işi yapmak için yine de var mı?

+1

O segmentler aslında dizeleri varsayıyorum? – Josh

+0

Bunlar mongoDB'de tarih nesneleri olarak saklanır ve denetleyicime çekilir. Sadece verilerin nasıl göründüğünü göstermeye çalışıyordum. –

cevap

13

onlar tarih nesnesi sadece .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

+0

Tamam, bu kesinlikle sorumu yanıtladı. Sanırım problemim, mongo'dan gelen tarih nesnelerinin, nesne olarak değil, dizeler olarak geri dönmeleridir, ancak bu, elle girdiğim ve yanlış yaptığım test verileri olduğu için olabilir. –

+0

@DaltonShehan Yeni bir tarih nesnesine bu şekilde girebilirsiniz: 'Yeni Tarih ('2006-01-01T04: 00: 00.000Z')' – laggingreflex

+0

Doğru olanı, yardım için teşekkürler. –

6

doğrudan tarihini karşılaştırabilirsiniz Eğik onlar iyi formated eğer olmadan doğrudan karşılaştırmak iseniz:

görünüm

li.list-group-item(ng-if="app.Segments[0].StartDate > now") 

kontrolör

$scope.now = new Date(); 
$scope.now.toISOString();