如何从时区名称(美国东部标准时间/印度标准时间)获得时区偏移量?

时间:2018-04-09 13:56:19

标签: date momentjs timezone-offset

这是否有效从IST等缩写中获得偏移?

1 个答案:

答案 0 :(得分:2)

  

这是否可以从像IST这样的缩写中获得偏移?

我不会说"有效",但"无效"。

IST 等缩写为ambiguous IST 用于India, Israel and Ireland,每个都有不同的偏移量。

不仅如此,每个时区实际上都是历史记录(过去,现在和将来)的偏移列表。即使印度今天使用+05:30,in the 40's there were lots of changes:在某些时期,偏移量为+06:30,因此根据您询问的地点和时间,您可能会获得不同的偏移量。

因此,要获得偏移量,您需要做两件事:

  • 实际的,非模糊的时区名称as defined by IANA,例如Asia/Kolkata
  • 参考日期,以获取该特定时刻在该时区使用的偏移量

您可以使用moment.tz's utcOffset method在特定时刻获取特定时区的偏移量。

PS:甚至包括"美国东部标准时间"使用起来不是一件好事,因为这是一个非常全面的概念:EST covers lots of different places (hence, more than one IANA's timezone,在DST期间,它会变为EDT(东部夏令时)。但是有些地方没有DST并且整年都使用EST。解决这一问题的唯一方法是使用适当的IANA时区标识符(例如America/New_York)。