调整夏令时的日期过滤器

时间:2017-02-23 21:15:53

标签: javascript angularjs

我在页面上显示的日期(以UTC毫秒为单位)(AngularJS 1.4.0),用户希望在东部时间看到它,无论他们的计算机上设置的时区如何。

我正在使用日期过滤器,并且从documentation我看到了

  

$filter('date')(date, format, timezone)

     

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

使用今天的时间戳,如果我使用

之类的东西

{{ record.Timestamp | date:'HH:mm:ss.sss':'EST' }}

它按照我的预期写出时间,但我认为当DST滚动时,我将在一小时后离开。我也可以指定'EDT'并且它会将时间提前一小时,但是有一个我可以使用的时区缩写,只是意味着"东方",并使用日期本身来确定是否使用EST还是EDT?或者我需要检查日期并自己创建一个偏移量:-0500 / EST或-0400 / EDT,具体取决于日期? (看起来timezone只能是一个字符串,而不是一个函数,这样会使我的自动检测变得复杂。)

似乎不太可能有人想要将显示硬编码到EST或EDT - 他们更有可能想要时区,并根据DST进行调整。

0 个答案:

没有答案