我有一个具有日期时间数据类型的列。
每当我像这样更新列时。
new_date = "2014-12-13 03:43:30".to_datetime
Model.first.update_column(:my_datetime, new_date) => true
但是当我这样做的时候。
Model.first.my_datetime => "Sat, 13 Dec 2014 11:43:30 HKT +08:00"
它应该输出03:43:30
请帮助谢谢!
答案 0 :(得分:1)
您正在寻找strftime:
new_date.strftime("%T")
#=> "03:43:30"
或将其应用于activerecord响应:
new_date = "2014-12-13 03:43:30".to_datetime
Model.first.update_column(:my_datetime, new_date)
#=> true
Model.first.my_datetime.strftime("%T")
#=> "03:43:30"
此处%T
适用于Local time (extended)
答案 1 :(得分:0)
您需要更改区域
使用Time.zone.now