首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么zone.utc_offset和zone.now.utc_offset之间存在差异?

为什么zone.utc_offset和zone.now.utc_offset之间存在差异?
EN

Stack Overflow用户
提问于 2015-12-17 03:39:55
回答 1查看 189关注 0票数 4

在rails控制台中:

代码语言:javascript
复制
> ActiveSupport::TimeZone['Samoa'].utc_offset
=> -39600
> ActiveSupport::TimeZone['Samoa'].now.utc_offset
=> 50400

我希望看到一个基于DST的差异,也许,一个小时。为什么这里有这么大的差别?

更新:Samoa是唯一具有这种行为的时区。很容易找到:

代码语言:javascript
复制
ActiveSupport::TimeZone
  .all
  .select{|tz| (tz.now.utc_offset - tz.utc_offset).abs/(3600) > 1}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-17 04:03:03

萨摩亚时区于2011年12月29日越过国际日期线。Zone

因此,zone.utc_offset值是2011年12月29日之前的值,在此之后的任何时候,utc_offset都会进行适当的调整。

代码语言:javascript
复制
> ActiveSupport::TimeZone['Samoa'].parse('2011-01-01').utc_offset
-36000
> ActiveSupport::TimeZone['Samoa'].parse('2015-01-01').utc_offset
50400
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34326222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档