一尘不染

AngularJS:如何格式化ISO8601日期格式?

angularjs

我正在使用bootstrap-datetimepicker和ISO8601 datetime格式,yyyy-mm-ddThh:ii:ssZ如其选项部分所述

在我的控制器中

transaction.date = $('.form_datetime input').val();

它以(console.log)将数据发送到后端

created_on: "Wed, 08 May 2013 23:18:32 -0000"

并保存为数据库

2013-05-08 16:18:32-07

在我的模板中

<td>{{ transaction.created_on | date:'medium'}}</td>

我在HTML上看到的输出为

Wed, 08 May 2013 23:18:32 -0000

但是根据Angular doc,它应该用于格式Oct 28, 2010 8:40:23 PM

我想念的是什么?


阅读 244

收藏
2020-07-04

共1个答案

一尘不染

现在,我已经创建了一个过滤器

angular.module('customFilters', []).
  filter('dateInMillis', function() {
    return function(dateString) {
      return Date.parse(dateString);
    };
  });

作为依赖项添加app.js

var app = angular.module('myApp', [
  '$strap.directives', 'ngCookies', 'categoryServices', 'transactionServices',
  'customFilters'
]);

HTML用作

<!-- added dateInMillis to pass to date to filter Angular way -->
<td>{{ transaction.created_on | dateInMillis | date: 'medium'}}</td>

并将日期显示HTML

May 8, 2013 5:14:36 PM

如果您知道更好的主意,请告诉我

2020-07-04