我的application.rb中有:
config.active_record.default_timezone = :local
因此发生的事情是,每当将某些内容保存到数据库时,它都会将其时间戳记到发布它的用户的时区。
在这里猜测.. 但是如果用户在 EST 中,则时间戳是相对于 EST 的。如果它们在 PST 中,则印章与 PST 相关。
因此,如果他们要取消小时,那么数据库会将其转换回他们最初存储的时间。当然,这一切都发生在 Rails 的底层,并且没有这种转换的实际记录。
例如,我将日期保存为下午 4 点。我检查了我的数据库,它是 UTC 格式的。然后,如果我在视图中显示该日期,它会回到我的本地时区,而无需我特别说明。
问题来了!
假设我希望 Resque 工作人员在位于弗吉尼亚州的服务器上为最初由居住在爱尔兰的用户创建的对象克隆一个对象。
会发生什么,该对象将更新到服务器的本地时间,而不是用户。
问题:如何提取保存对象的原始本地时间?