角度日期过滤器无效

时间:2015-12-08 17:06:12

标签: angularjs date filter

不工作或我没有正确使用它。我在mongodb中保存了一个日期(这是正确的):

"2015-12-10T12:00:00.000Z"

我有一个日期角度过滤器:

date: 'medium'在视图中显示 2015年12月10日上午7:00:00

date: 'medium' : +0500将其提升至 2015年12月10日下午5:00:00

date: 'medium' : -0500显示为: 2015年12月10日上午7:00:00 重新

我该怎么办才能让它在中午12点播出?!大声笑我在EST时间

2 个答案:

答案 0 :(得分:3)

末尾的Z表示“UTC”。因此,该日期表示在UTC时区中显示为2015-12-10T12:00:00.000的瞬间。

并且您希望将其显示为您在UTC时区中,因为您不希望时间部分与UTC中的时间部分不同。

因此,使用UTC作为时区:

date:'medium':'UTC'

输出:

Dec 10, 2015 12:00:00 PM

答案 1 :(得分:0)

过滤

首先创建自定义过滤器:

.filter( 'trimDateTime', function(){
    function(ds){
        var z = ds.indexOf('Z')
        return ds.substr(0, z)
    }
 }

HTML

然后对数据应用2个过滤器

<p>{{ dateString | trimDateTime | date: 'medium' }}</p>

为什么

角度滤镜是保持数据完整但呈现特殊方式的强大机制。您可以轻松地从日期字符串中修剪“Z”,但稍后,另一个用户体验可能会期望数据完好无损。

codepen

http://codepen.io/jusopi/pen/pgvOBr