Ruby:将BST时间转换为UTC

时间:2010-12-03 17:47:45

标签: ruby-on-rails ruby datetime activerecord time

script/console

>> t = Time.at(1158609371)
=> Mon Sep 18 20:56:11 +0100 2006
>> t.zone
=> "BST"
>> s = Shop.find(:first)
>> s.creation_tsz = t.utc
=> Mon Sep 18 19:56:11 UTC 2006
>> s.creation_tsz.zone
=> "UTC"
>> s.save
>> s = Shop.find(:first)
>> s.creation_tsz
=> Sat Jan 01 19:56:11 UTC 2000

为什么它从2006年9月18日改为2000年1月1日?时区设置为在environment.rb中使用“UTC”。而且你知道我已经尝试了很多行s.creation_tsz = t.utc的变体。一切都失败了。

1 个答案:

答案 0 :(得分:2)

在数据库中,s.creation_tsz是否可能只存储一个时间而不是日期部分,例如MySQL TIME type,而不是TIMESTAMP or DATETIME type