2014-06-19 3 views
1

AngularJs에서 ng-repeat의 열을 정렬하려고합니다.날짜별로 정렬하여 정렬하는 방법

<th class="cl_sort_init" ng-click="predicate='EstimatedCloseDate'; 
    reverse=!reverse" ng-class="{'cl_sort_desc': 
predicate=='EstimatedCloseDate'&&reverse==true, 'cl_sort_asc': 
predicate=='EstimatedCloseDate'&&reverse==false}">Close Date</th> 

그러나 EstimatedCloseDate은 문자열입니다

나는 이런 식으로 뭔가가있다. 그러므로 그것은 그것이해야하는 방식으로 작동하지 않습니다. 이 열에 대해서만 날짜로 사용하려면 어떻게해야합니까? 다른 열은 문자열이며 제대로 작동합니다.

아이디어 및 제안 !!! 날짜 문자열의 형식에 따라

답변

1

, 당신은

(new Date(EstimatedCloseDate))

이 다음 날짜 문자열을 구문 분석하는 경우 정렬과 좋은 재생됩니다 날짜 객체로 변환합니다 할 수있을 것 이 함수가 작동하지 않으면 결국 날짜 나 int 또는 Date 객체로 바뀌는 날짜 파서를 작성해야합니다.

+0

왜 정수에 대한 별도의 변환에 대해 걱정? 날짜 시간은 잘 정리되어야합니다. –

+0

@Paul Sasik 오, 좋은 나는 그것을 몰랐다 :) – XrXrXr

+0

+1 좋은하고시의 적절한 수정! –

0

조건 자에서 문자열을 날짜 시간으로 변환 할 수 있어야합니다. 다른 변환은 필요하지 않습니다. 문자열 - 날짜 변환에 대해서는 여기를 참조하십시오. Converting string to date in js 및 형식 세부 정보.

날짜 형식이 비정상적인 경우 datej와 같은 라이브러리를 확인하십시오.

그러나 여기에는 여러 날짜 문자열을 날짜로 변환하는 일부 스 니펫이 있습니다. 마지막 변환이 실패합니다.

var dtString = "2010-12-25"; 
var dt = new Date(dtString); 
console.log(dtString + " = " + dt); 

dtString = "12/25/2010"; 
dt = new Date(dtString); 
console.log(dtString + " = " + dt); 

dtString = "25/12/2010"; 
dt = new Date(dtString); 
console.log(dtString + " = " + dt); 

출력 :

 
2010-12-25 = Fri Dec 24 2010 18:00:00 GMT-0600 (CST) 
12/25/2010 = Sat Dec 25 2010 00:00:00 GMT-0600 (CST) 
25/12/2010 = Invalid Date 
+0

나는 다음과 같은 것을 시도했다 : 마감일. 그것은 작동하지 않았다. formatDate라는 컨트롤러에 다음과 같은 메서드가 있습니다. formatDate : (날짜) => return new Date (날짜) – SaiBand

+0

답장을 보내 주셔서 감사합니다. 나는 당신이 제안한 비슷한 줄에서 그것을 시도했다. 위의 내용에서 내가 뭘 잘못했는지. – SaiBand

+0

@SaiBand : formatDate 함수에 전달하는 몇 가지 예제 날짜를 제공 할 수 있습니까? 형식이 Date 생성자에 의해 인식되지 않을 수도 있습니다. 또한 주석에 코드를 붙여 넣지 마십시오. 읽을 시간이 매우 어렵습니다. –

관련 문제