2016-09-05 2 views
0

밀리 초 (문자열이나 숫자)와 함께 작동하지 않는 필터 :각도 날짜 내가보기에 이런 일이

{{1288323623006 | date:'%d/%m/%Y %I:%M:%S %p'}} 

그러나이처럼 내 콘솔에서 나에게 오류가 발생합니다 : enter image description here

나는이 같은 내 컨트롤러의 날짜 개체에 밀리 초를 변환 :

$scope.myDate = new Date(1288323623006); 

내보기 :

{{myDate | date:'%d/%m/%Y %I:%M:%S %p'}} 

그러면 예상대로 29/10/2010 06:40:23 AM을 표시합니다.

위의 오류가 내 콘솔에 표시되는 Angular Docs의 예입니다.

날짜를 개체로 변환하여보기에 전달할 수 있지만 이러한 수정 방법을 사용하지 않으려 고하므로이 방법으로 관리하는 데 관심이 있습니다.

나는 내 I18nAdapter에서 아무 것도 변경하지 않았습니다.

누구나 비슷한 문제가 있었습니까?

답변

0

는 최근이 문제를 해결 한 지금은 내 솔루션을 게시하고있다.

대신에 사용 된 현지화의 필터 때문에 각도 필터가 작동하지 않습니다.

내가 우리 i18n.js 라이브러리 내부에이 라인을 주석으로 지역화 된 날짜 필터를 해제했다 않았다

angular.module('app.filters.I18nAngular', []).filter('translate', function() { 
    return function(key, obj) { 
     return i18nAdapter.translate(key, obj); 
    }; 
}).filter('number', function() { 
    return function(value, options) { 
     return i18nAdapter.formatNumber(value, options); 
    }; 
}).filter('currency', function() { 
    return function(value) { 
     return i18nAdapter.formatCurrency(value); 
    }; 
}); 
// .filter('date', function() { 
// return function(value, format) { 
// return i18nAdapter.formatDate(value, format); 
// }; 
// }); 

i18nAdapter는 자신의 서식 및 필터, 각도와 유사하지만 우리의 경우에 우리가 잘되어있다 각을 제공하는 것을 사용합니다. 문서의

0

날짜가 아닌 개체를 구문 분석하려고하기 때문에. 컨트롤러에서와 같은 방식으로 Date 객체에 필터를 전달해야합니다.

{{new Date(1288323623006) | date:'%d/%m/%Y %I:%M:%S %p'}} 
+0

은 밀리 초를 이송/숫자 또는 Date 객체로 전달할 수 있다고 말합니다. 그리고 당신은 questoin의 plunkr 예제에서 그것을 볼 수 있습니다 – Chris

+0

btw 나는 이것을 시도했지만 작동하지 않습니다 – Chris

0

당신은 사용자 정의 필터를 만들고이처럼 값을 사용할 수 있습니다 :

필터 :

.filter('millisecondsToDate', function($filter) { 
    return function(millseconds) { 
    var timeString = $filter('date')(new Date(millseconds),'d/M/yyyy HH:mm:ss a'); 
    return timeString; 
    }; 
}) 

HTML :

{{ 1288323623006 | millisecondsToDate }} 

당신은 뭔가를해야 그러면 29/10/2010 06:40:23 AM이 출력됩니다.

는 편집 :

{{ 1288323623006 | date: 'd/M/yyyy HH:mm:ss a' }} 

그래서 그냥 날짜 형식이 잘못했고 각도가 날짜로 변환 할 수없는 이유는 다음과 같습니다

는 사실이 너무 작동합니다.

정확한 형식은 documentation for AngularJS date을 참조하십시오. https://jsfiddle.net/thepio/qrr451pk/

편집 2 : 국제화와

는 다음과 같은 시도 여기

은 JSFiddle입니까?
{{ 1288323623006 | date:'short'}} 

또는 사용자 정의 서식

:

{{ 1288323623006 | date:'d/M/yy h:mm:ss a' }} 
+0

나는이 문서를 읽었습니다. 형식이 아닙니다. 나도 너의 형식을 시도했다. 나는 괜찮아요 개체가 필터 (형식)에보기에 전달되지만 밀리 초가 전달되면 작동하지 않는다고 말했다. – Chris

+0

하지만 완벽하게 작동합니다. 이 JSFiddle을 보아라 : https://jsfiddle.net/thepio/qrr451pk/ – thepio

+0

나는 그것이 바이올린에서 완벽하게 작동한다는 것을 안다. 문제는 현지화 라이브러리에서 문제가 발생하여보기에 전달 된 밀리 초가 형식화되지 않는다는 것입니다. – Chris

관련 문제