时区时差:UTC时差

Ser*_*gey 5 javascript timezone momentjs

我使用该moment-timezone v.0.5.3-2016c库来计算某个时区的UTC偏移量:

var z = moment().tz("America/Los_Angeles");
z.utcOffset(); // -420 mins or -7 hours

// check if DST is shifted
z.isDSTShifted(); // false
Run Code Online (Sandbox Code Playgroud)

但是,这里https://en.wikipedia.org/wiki/List_of_tz_database_time_zones的UTC偏移为America/Los_Angeles-8小时。

Moment也使用了tzdb v.2016c和Wikipedia文章。

那么,为什么这里有两个不同的结果?哪个结果是正确的?

PS:有是相同的差异America/Kentucky/MonticelloEurope/Tiraspol,以及。

Mat*_*int 6

调用时刻创​​建函数(moment()不带任何参数)会返回当前时刻。由于时区偏移量根据它们所附加的日期和时间而变化,因此您的结果将根据您调用此函数的时间而变化。

如果您想知道时间是否为夏令时,请使用isDST。该isDSTShifted函数用于处理无效的本地时间,而不是检查 DST。它可能可以被命名为更好。