为什么我的日期格式不符合预期?

时间:2017-12-07 16:12:26

标签: angularjs

我在数据库表中的日期如下所示:

"2017-12-07 14:42:38.0611177 +00:00"

我正在尝试在我的HTML格式化它:

<td>{{ note.CreatedAt | date : "MMM d, y" }}</td>

我期待这个日期看起来像这样:

Dec 7, 2017

但是,结果如下: date is not in expected format

有人能告诉我我做错了吗?

1 个答案:

答案 0 :(得分:2)

在过滤日期之前,您必须将日期转换为时间戳。

Aleksey评论是一个很好的观点,你可以从控制器获得时间戳:

angular.module('app').controller('dateCtrl', ['$scope', function($scope){
  var date = "2017-12-07 14:42:38.0611177 +00:00";
  $scope.createdAt = new Date(date).valueOf();
}]);

并在您的视图中使用它:

<span>{{createdAt |  date : "MMM d, y"}}</span>

顶部示例将输出:Dec 7, 2017

<强> Plunker Demo

有关更多信息,请参阅有关[日期过滤器]的AngularJS文档。2