我是棱角分明的新手。
我试图给出一些类似Nov-24-2016
的日期格式,但它根本不起作用。
以下是我的代码。
{{ x.created | date:" MM-d-y" }}
我想要这种格式Nov-24-2016
和x.created value = 2016-11-24 08:02:21
有什么建议吗? 谢谢
答案 0 :(得分:2)
您可以创建自定义
.filter('datetime', function($filter){
return function(input){
if(input == null){ return ""; }
var _date = $filter('date')(new Date(input),'MM-dd-yyyy');
return _date.toUpperCase();
};
});
{{ x.created | datetime }}
答案 1 :(得分:2)
查看文档: https://docs.angularjs.org/api/ng/filter/date
x.created必须是Date对象或自UTC时代以来毫秒的时间字符串。
因此要么为它创建一个手动过滤器,要么将日期字符串解析为Date对象。
答案 2 :(得分:1)
使用date
管道x.created
必须是日期对象或数字(自UTC纪元以来的毫秒数)或ISO字符串DatePipe
答案 3 :(得分:0)
{{ x.created | date: "MMM-d-y" }}
呈现给Nov-24-2016
顺便说一下:2016-11-24 08:02:21
似乎不是有效的ISO字符串https://www.w3.org/TR/NOTE-datetime。你可以检查一下。
答案 4 :(得分:0)
我有类似的问题。它经过2个步骤修复,将文档编码更改为没有BOM的utf-8,并手动重写时间数据。像这样 - 日期:
2013-12-02T17:57:28.556094Z