AngularJS:具有ISO 8601日期的日期过滤器

时间:2015-07-02 12:41:14

标签: angularjs

我从Angular文档中注意到,日期过滤器应该可以正常使用ISO 8601日期,格式为yyyy-MM-ddTHH:mm:ss.sssZ

但是当我尝试使用这种格式过滤日期时,我看不出输出有任何差异。这是一个演示我的意思的小提琴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

为什么我的表达式中没有格式正确的日期?

我错过了一些明显的东西吗?

1 个答案:

答案 0 :(得分:2)

您的字符串日期在几秒钟内就错了。您有sss.sss(983.008),而ss.sss的值为&lt; = 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>