我们正试图在angualar databind中显示正常的日期时间
{{result.ReceivedDateTime | date:'mediumTime' }}
然而,结果如下:/ Date(1395273600000)/
我猜这是JSONS数据时间(毫秒)
是否有一种简单的方法可以让它显示正确的格式化日期,而不是
/Date(1395273600000)/
我们试图谷歌,但似乎无法找到答案,任何帮助将不胜感激。
答案 0 :(得分:0)
从上面的消息中,我们有以下解决方案适用于角度
{{result.ReceivedDateTime.substring(6, result.ReceivedDateTime.length - 2) | date:'dd/MM/yyyy HH:mm' }}
将考虑创建一个自定义过滤器,这样就可以实现这一点,而无需内联子字符串等
答案 1 :(得分:0)
我经常使用的过滤器采用ISO日期&将其转换为MS。然后,您可以使用角度
所需的任何date
过滤器
示例日期:
"2014-04-01 10:16:00"
过滤
.filter('isoToMS', function() {
return function(input) {
var ms = Date.parse(input.replace(/-/g,"/"));
return ms;
};
})
HTML
{{result.date | isoToMS | date:'dd/MM/yyyy HH:mm'}}
/-/g,"/"
中的正则表达式.replace()
用于处理与浏览器的不一致。 Chrome将在ISO日期中使用-
正确转换为ms。但FF不会。他们需要/
。因此,将所有-
替换为/
,它可以在浏览器中使用。
我团队中的另一位开发者喜欢使用不同的过滤器:
.filter('dateToISO', function() {
return function(input) {
input = new Date(input).toISOString();
return input;
};
})
我还没有测试过这个。我并不总是使用带有角度过滤器的ISO日期运气好(因此我采用ISO日期并在我的第一个解决方案中将其转换为MS)。