将日期过滤为默认的JavaScript格式

时间:2016-06-13 20:42:36

标签: javascript angularjs date

我以JSON的形式收到了yyyy-MM-dd日期属性的回复。 我想使用Angular.js

将其转换为默认的JavaScript格式 - Mon Jun 13 2016 16:35:48 GMT-0400 (Eastern Daylight Time)

我在https://docs.angularjs.org/api/ng/filter/date处查看了日期过滤器文档 它显示了" fullDate"格式以及我们可以添加的时区,但它并不完全符合上面定义的格式。

有没有办法使用$filter对象以角度进行此操作?

2 个答案:

答案 0 :(得分:1)

从您收到的字符串创建日期变量,即:

$scope.date = new Date('2016-06-13'); // or new Date(String(variableWithDate));

现在您可以使用任何日期过滤器,例如:

$scope.format = "EEE MMM dd yyyy hh:mm:ss 'GMT'Z '(Eastern Daylight Time)'";

HTML:

{{date | date: format}} 

检查它是否在jsfiddle

中工作

答案 1 :(得分:0)

您可以创建自定义过滤器

angular.module("yourApp").filter('displayJSDate', function(){
  return function(inputString){
    //inputString is formatted mm-dd-yyyy
    var myDate = new Date(inputString);
    //manipulate the date obj if you want
    //no manipulation will result in Mon Jun 13 2016 16:35:48 GMT-0400 (Eastern Daylight Time) like string
    return String(myDate);//explicit cast to a string

  }
})

在标记中然后您需要的是使用此过滤器与'|'语法