我仍然对如何在 Ruby 中使用DateTime感到有些困惑。我想将 GMT 存储在数据库中,至少我认为我会。但是如何创建可用的本地化日期时间呢?
date = Date.new(2012, 11, 24)
=> #<Date: 2012-11-24 ((2456256j,0s,0n),+0s,2299161j)>
new_appt = DateTime.new(date.year, date.month, date.day, 10, 0, 0)
=> #<DateTime: 2012-11-24T10:00:00+00:00 ((2456256j,36000s,0n),+0s,2299161j)>
此 DateTime 对象的 GMT 偏移量为 +00:00。我希望它是 -07:00 或 -08:00,具体取决于给定日期是否遵守夏令时。我可以添加最后一个参数(+7
或+8
)但如何计算?
有没有办法告诉给定日期时区偏移量是(或将是)并将其考虑到 DateTime.new 对象中,以便可以正确存储(和检索)它?