我在页面上显示的日期(以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进行调整。