为什么角度中的时区在以下情况下不能按预期工作

时间:2016-10-28 10:48:43

标签: angularjs

我正在使用传统的AngularJS 1.3

我有以下代码

{{ (1475586000*1000) | date:'yyyy-MM-dd' : 'Australia/Lord_Howe'}}

在UTC中,147558600004 Oct 2016 13:00:00 GMT

由于Australia/Lord_Howe为+11,我希望打印2016-10-05

但是,会打印2016-10-04。我可以知道为什么吗?

1 个答案:

答案 0 :(得分:2)

来自AngularJS v1.3.19的文档...

  

用于格式化的时区。现在,只有'UTC'   支持的。如果未指定,将使用浏览器的时区。

查看最新1.5版本的文档......

  

用于格式化的时区。它了解UTC / GMT和   美国大陆时区的缩写,但一般用途,请使用   时区偏移,例如,'+ 0430'(4小时,东部30分钟)   格林威治子午线)如果没有指定,浏览器的时区   将被使用。

...这给出了一个线索,即你可以通过使用偏移来接近你想要的东西,虽然这可能会给夏令时带来问题,所以它不是一回事:

{{ (1475586000*1000) | date:'yyyy-MM-dd' : '+11:00'}}