大家好,先谢谢大家,关于 rails 的时区有个问题请大家解答一下……
项目 application.rb 中的关于时区设置是这样的
config.time_zone = 'Beijing'
config.active_record.default_timezone = :local
然后解析时间字符串是这样的
Time.parse('2018-1-1 12:00:00')
=> 2018-01-01 12:00:00 +0800
Time.zone.parse('2018-1-1 12:00:00')
=> Mon, 01 Jan 2018 12:00:00 CST +08:00
所以……问题是这样的
irb(main):003:0> Page.create(title:'xxx', content:'xxx', push_time: '2018-1-11 12:00:00')
(0.0ms) BEGIN
SQL (0.5ms) INSERT INTO `pages` (`title`, `content`, `push_time`, `created_at`, `updated_at`) VALUES ('xxx', 'xxx', '2018-01-11 12:00:00', '2018-01-11 12:54:53', '2018-01-11 12:54:53')
(10.2ms) COMMIT
=> #<Page id: 4, title: "xxx", content: "xxx", push_time: "2018-01-11 04:00:00", created_at: "2018-01-11 04:54:53", updated_at: "2018-01-11 04:54:53">
就是我传入时间字符串是'2018-1-11 12:00:00' ,但是数据库存储的时候变成了 "2018-01-11 04:00:00"
求教啊,为什么会出现这样的问题,怎么解决这种问题啊?