无法获得正确的DateTime(Ruby on Rails)

时间:2014-12-13 07:12:09

标签: ruby-on-rails ruby datetime

我有一个具有日期时间数据类型的列。

每当我像这样更新列时。

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

请帮助谢谢!

2 个答案:

答案 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