2015-07-02 6 views
1

Замечает от угловой документации, что дата фильтр должен работать нормально с ISO 8601 даты в формате YYYY-MM-ДДTчче: мм: ss.sssZAngularJS: дата фильтр с датами ISO 8601

Но когда я пытаюсь отфильтровывая дату в этом формате, я не вижу никакой разницы в выходе. Вот скрипка, чтобы продемонстрировать, что я имею в виду http://jsfiddle.net/4zpqj7zb/

<div ng-app="myApp" ng-controller="myCtrl"> 
Some Date: {{ someDate | date:'dd-MMM-yyyy' }} 
</div> 
<script> 
var app = angular.module('myApp', []); 
app.controller('myCtrl', function($scope) { 
    $scope.someDate = "2015-04-30T11:17:983.008Z"; 
}); 
</script 

Почему я не получаю правильно отформатированную дату в моем выражении?

Я пропустил что-то очевидное здесь?

ответ

2

Ваша неверная дата строки за считанные секунды. У вас есть sss.sss (983.008) в то время как она должна быть ss.sss со значением < = 60 (58,008), здесь правильно:

JSFiddle

<div ng-app="myApp" ng-controller="myCtrl"> 


Some Date: {{ someDate | date:'dd-MMM-yyyy' }} 

</div> 
<script> 
var app = angular.module('myApp', []); 
app.controller('myCtrl', function($scope) { 
    $scope.someDate = "2015-04-30T11:17:58.008Z"; 
}); 
</script> 
+0

Ах правом в порядке, а строка даты я получаю обратно есть от команды на стороне сервера я не являюсь частью. Означает ли это, что они не используют отформатированные даты ISO 8601? Если да, то какая идея, какой формат я возвращаюсь? – mindparse

+0

Это означает, что они отправляют вам неправильную строку для даты, я имею в виду, что они генерируют это «вручную», вероятно, потому, что это не совсем другой формат, это действительно неправильно. (Я бы связался с ними, чтобы объяснить это) –

Смежные вопросы