我正在使用传统的AngularJS 1.3
我有以下代码
{{ (1475586000*1000) | date:'yyyy-MM-dd' : 'Australia/Lord_Howe'}}
在UTC中,1475586000
为04 Oct 2016 13:00:00 GMT
由于Australia/Lord_Howe
为+11,我希望打印2016-10-05
。
但是,会打印2016-10-04
。我可以知道为什么吗?
答案 0 :(得分:2)
来自AngularJS v1.3.19的文档...
用于格式化的时区。现在,只有'UTC' 支持的。如果未指定,将使用浏览器的时区。
查看最新1.5版本的文档......
用于格式化的时区。它了解UTC / GMT和 美国大陆时区的缩写,但一般用途,请使用 时区偏移,例如,'+ 0430'(4小时,东部30分钟) 格林威治子午线)如果没有指定,浏览器的时区 将被使用。
...这给出了一个线索,即你可以通过使用偏移来接近你想要的东西,虽然这可能会给夏令时带来问题,所以它不是一回事:
{{ (1475586000*1000) | date:'yyyy-MM-dd' : '+11:00'}}