我有一个表示日期时间的字符串。例如:
"2013-10-29T08:30:00"
没有时区信息,但我知道它代表特定时区的时间,例如"中部时间(美国和加拿大)"
我想使用正确的时区信息创建一个正确的DateTime
对象,但我没有这样做,因为我不知道我应该使用"-06:00"还是"-05:00"作为偏移量(由于 DST)。
有什么帮助吗?
不用担心夏令时:)主动支持将为您处理这个问题。
Time.zone = "Central Time (US & Canada)"
t = Time.zone.parse "2013-10-29T08:30:00"
#=> Tue, 29 Oct 2013 08:30:00 CDT -05:00
t.dst?
#=> true
关于时区设置和dst?
http://api.rubyonrails.org/classes/ActiveSupport/TimeWithZone.html 的参考
更新:上述块用于显示目的。在应用程序中,您可以将时区设置为config/application.rb
config.time_zone = 'Central Time (US & Canada)'
这将设置默认Time.zone
,因此您不再需要上述代码的第一行。