ruby - 为什么rails保存对象时,created_at时间不是当前系统时间?

【字号: 日期:2022-10-15浏览:39作者:雯心

问题描述

subject = Subject.new(name:'First Subject', position: 1, visible: true)irb(main):008:0* subject.save (0.2ms) BEGIN SQL (2.8ms) INSERT INTO `subjects` (`name`, `position`, `visible`, `created_at`, `updated_at`) VALUES (’First Subject’, 1, 1, ’2016-04-16 01:52:31’, ’2016-04-16 01:52:31’) (1.5ms) COMMITirb(main):008:0* subject=> #<Subject id: 1, name: 'First Subject', position: 1, visible: true, created_at: '2016-04-16 01:52:31', updated_at: '2016-04-16 01:52:31'>

本来是在10点左右保存的,但是里面的created_at, updated_at时间是1点,不和系统时间一致。

问题解答

回答1:

config/application.rb

config.active_record.default_timezone = :local

目前还不是太明白,参考 https://ruby-china.org/topics/16187

回答2:

时区是哪个时区 是东八区么? 加上8个小时看看是几点

irb>Time.now => 2016-05-12 15:30:14 +0800是这样的吗

回答3:

因为你在GMT+8。一般AR里面存的是GMT时间。

相关文章: