angularjs日期时区调整问题

时间:2017-04-17 05:41:05

标签: javascript angularjs datetime

我想要做的是以angularjs格式打印以下格式的日期。

Aug 30, 2016
{{CC.StartDate | date }} //angularjs UI code

我只是发送带有响应的模态,它会自动将对象反序列化为json。

List<CClass> Items = CClass.GetMultipleAsObject(); //fetch data   
return Request.CreateResponse(Items); //sending it to UI

我可以看到我在网络标签中收到"2016-08-30T00:00:00"回复。但是当它在不同的浏览器中呈现时,它会以不同的方式呈现它。

我在IST时区,Chrome将其渲染为“2016年8月30日”。但IE和FF将其渲染为“2016年8月29日”。在PST时区中,所有浏览器都将其设置为正确。日期看起来像UTC。

我尝试将其转换为普通字符串,但问题仍然存在。 试过这个 - $filter('date')(input, "yyyy-MM-dd");,仍然是同一个问题

我没有尝试过momentjs,认为没有它也一定可能。

有人可以指导,我怎样才能摆脱这个时区本地化,只是在时区的字符串中显示日期?

1 个答案:

答案 0 :(得分:0)

使用javascript日期总是很棘手。在您的方案中,您需要显示日期而不涉及时区。您可以使用getUTCDate() getUTCMonth()getUTCFullYear()从日期字符串中获取单个元素并构造新的日期对象。

以下示例在ie和chrome中返回相同的日期。

JSFiddle link

希望这有帮助。