Angular 日期过滤器意外移动 1 小时

Angular date filter unexpectedly shifts 1 h

我一直在使用 angular 日期过滤器来格式化我的时间戳。但它似乎将我的时间戳改变了 1 小时,我不知道如何控制它。

2015-06-18T23:59:59Z 已转换为 19-Jun-2015 00:59:59

我知道这与时区有关,但我的时间戳指定了时区。我不想在我的过滤器中硬编码时区,因为我不想在英国 summer/winter 时间更改时更新我的​​应用程序。

有人可以告诉我吗?

示例如下:

http://jsfiddle.net/chfw/5vy5s1ey/1/

<div ng-app>
    2015-06-18T23:59:59Z was converted to  <font color=red> 
    {{"2015-06-18T23:59:59Z" | date:'dd-MMM-yyyy HH:mm:ss'}}
    </font>
</div>

我认为这是因为 'T' 和 'Z' 指的是 UTC 时区,过滤器会考虑到这一点并尝试进行必要的调整。完全不确定具体细节。

删除 'T' 和 'Z' 会将其视为中性时间戳,不会进行任何移动:

{{"2015-06-18 23:59:59" | date:'dd-MMM-yyyy HH:mm:ss'}}

Fiddle