2014-10-18 2 views
11

옥에서 두 날짜를 비교하려고합니다. 이것이 내 옥 파일의 모양 인 경우입니다.AngularJs 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 

첫 번째 세그먼트의 시작일이 오늘 이후 인 경우이 코드를 사용하면 내 UI에 li이 추가됩니다.

$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

나는 그 부분이 실제로 문자열 겠지? – Josh

+0

이들은 mongoDB에 날짜 객체로 저장되고 내 컨트롤러에 저장됩니다. 나는 단지 데이터가 어떻게 보였는지 보여 주려고했다. –

답변

13

그들은 날짜 개체 그냥 .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

그래, 내 질문에 분명히 대답했다. 내 문제는 mongo에서 오는 날짜 객체가 객체로 아닌 문자열로 되돌아오고 있다고 생각하지만 수동으로 입력 한 테스트 데이터이고 잘못 되었기 때문일 수 있습니다. –

+0

@DaltonShehan 'new Date ('2006-01-01T04 : 00 : 00ZY)' – laggingreflex

+0

문자열을 사용하여 새 날짜 개체로 만들 수 있습니다. –

6

직접 날짜를 비교할 수있는 코너들이 잘 형식의 경우하지 않고 직접 비교하는 경우 :

보기

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

컨트롤러

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