I have very complex structure that I receive from server-side code. This structure has many Date properties (of type Date). These Date properties contain dates in UTC. I need to convert all of them to Local. Is there any way to do this in angularJS? Instead of doing this one-by-one? Maybe some global setting or options that will instruct angular to convert dates into Local automatically?
Thanks.
答案 0 :(得分:0)
追加" UTC"到后端时间并通过新的Date()运行。它会给你当地的时间偏移。
apply plugin: 'java'

答案 1 :(得分:0)
第一种方法是更改您的Web服务以使用ISO 8601格式返回utc日期。 例如:" 2016-10-07T22:01:00Z"
如果Web服务返回使用此ISO的日期很容易表示用户当地时间的日期,因为浏览器根据您当前的时区实例化日期。 例如:如果我打开浏览器控制台并运行此javascript代码:
new Date("2016-10-07T22:01:00Z")
我将根据我的时区收到日期,即GMT-0300。
Fri Oct 07 2016 19:01:00 GMT-0300 (SA Eastern Standard Time)
因此,对于angularjs代码,您只需要编写::
{{"2016-10-07T22:01:00Z" | date}}
我会收到这个结果:
Oct 7, 2016
检查过滤器的日期here 正确使用过滤器。例如:
{{"2016-10-07T22:01:00Z" | date: 'MM/dd/yyyy HH:mm'}}
结果是:10/07/2016 19:01
第二种方法是将您的Web服务的日期转换为ISO 8601格式。
实际上我有同样的问题,客户端Web服务发送给我的日期如下:"2016-10-07 22:01:00"
所以,我编写了一个简单的代码来将这种日期格式转换为ISO 8601。