Angular:使用日期过滤器将UTC日期显示为本地日期

时间:2016-03-05 16:14:24

标签: angularjs date

我从具有此日期的服务器获取json:

<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>

从服务器那里带来的就是这样 这是UTC日期,所以如果我想将此日期显示为本地日期(-0400),则应显示2015-07-15 07:00 PM

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

System.out.println("patam is a "+param.getClass().getSimpleName());

其中显示了这一点:

  

2015-07-15T23:00:00

     

2015-07-15 11:00 PM

     

2015-07-16 03:00 AM

     

2015-07-16 07:00 AM

     

2015-07-15 11:00 PM

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

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

1 个答案:

答案 0 :(得分:1)

您的服务器返回的字符串不是Angular的UTC格式:它最后缺少Z以使其成为正确的ISO 8601 UTC时间戳。发送2015-07-15T23:00:00Z代替应该做的。