2016-03-05 113 views
0

我取出由服务器JSON具有此日期:角:显示UTC日期为本地日期,使用日期过滤器

"openingDate":"2015-07-15T23:00:00"

这引起就像从服务器。
这是一个UTC日期,所以如果我想把这个日期显示为本地(-0400),它应该显示2015-07-15 07:00 PM

在我看来,我拥有所有这些):

<p>{{ jsonFromServer.openingDate }}</p> 
<p>{{ jsonFromServer.openingDate | date:'yyyy-MM-dd hh:mm a' }}</p> 
<p>{{ jsonFromServer.openingDate | date:'yyyy-MM-dd hh:mm a' : 'UTC' }}</p> 
<p>{{ jsonFromServer.openingDate | date:'yyyy-MM-dd hh:mm a' : '+0400' }}</p> 
<p>{{ jsonFromServer.openingDate | date:'yyyy-MM-dd hh:mm a' : '-0400' }}</p> 

这表明这一点:

2015-07-15T23:00:00

2015年7月15日11:00 PM

2015-07-17上午3时00分

2015-07-17 07:00

2015年7月15日11:00 PM

令人奇怪的是,这些都不是我想要的一个!...我需要打印此:2015-07-15 07:00 PM

...我需要什么作为参数?!

+0

您的服务器和本地系统中的时区不同..服务器在UTC时区分配时间,但本地系统将该日期设置为本地时区。您需要将时区同步到相同的值或设置时区( - 0800) – pritesh

+0

@尼古拉斯好吧,我现在发送Z在最后,它的作品。它自动转换为本地时区,甚至没有将第三个参数添加到'date(date,format,timezone)'过滤器。发布它作为答案,我会接受它 – sports

回答

1

由服务器返回的字符串不是以UTC为单位的Angular:它最后缺少Z以使其成为合适的ISO 8601 UTC时间戳。发送2015-07-15T23:00:00Z应该做的伎俩。