由于某些原因,时间在开发(我的本地Mac)和生产(Heroku)中出现不同。请看下图:(这样做的我做了heroku db:pull
只是之前的,所以数据库应该是相同的)生产与开发之间奇怪的时间不一致
生产(Heroku的)
>> Annotation.last.id
=> 2028
>> Annotation.last.created_at
=> Sat, 12 Sep 2009 06:51:33 UTC +00:00
>> Time.zone
=> #<ActiveSupport::TimeZone:0x2b4972a4e2f0 @tzinfo=#<TZInfo::DataTimezone: Etc/UTC>, @utc_offset=0, @name="UTC">
>> Time.now.zone
=> "PDT"
发展(我的MacBook Pro)
>> Annotation.last.id
=> 2028
>> Annotation.last.created_at
=> Sat, 12 Sep 2009 09:51:33 UTC +00:00
>> Time.zone
=> #<ActiveSupport::TimeZone:0x23c92c0 @tzinfo=#<TZInfo::DataTimezone: Etc/UTC>, @utc_offset=0, @name="UTC">
>> Time.now.zone
=> "EDT"
由于created_at
时间相差3小时,我认为这与EDT和PDT之间的3小时差异有关,但我不确定发生了什么继续。
编辑:这里的原始数据是什么样子:
sqlite> Select created_at from annotations where id = 2028;
2009-09-12T09:51:33-04:00
生产机器是否也是mac? – Dolphin 2009-09-21 19:22:27
@Dolphin - 我不这么认为(它托管在Heroku上) – 2009-09-21 19:54:28
双启动OSX和Windows操作系统的人通常会遇到问题,因为OSX假定RTC是UTC,Windows假定它是当地时间。这个问题有可能类似吗? – Dolphin 2009-09-21 20:01:06