我生成了这样的模型:
2000-01-01T17:00:00Z
将模型保存到mysql工作正常。时间列填充为hh:mm:ss,这很好。但是当我从mysql中检索条目时,它以某种方式包含了2000-01-01的日期,例如:
my_model = MyModel.find(id)
print my_model.to_json#here time_first and time_second include date.
如何将时间列检索为hh:mm:ss?
我正在查询表条目:
{{1}}
答案 0 :(得分:0)
在薄荷和小时内使用这个时间:
my_model.time_second.strftime("%H:%M %S %p")
答案 1 :(得分:0)
ruby中没有仅限时间的数据类型,因此即使您将其作为仅时间列保存到数据库中,它也将始终作为日期与时间进行解析(默认为2000年1月1日)。您可以定义属性读取器,将已解析的日期时间转换为您的首选格式,例如一个“HH:MM:SS”字符串或今天的时间:
class MyModel < ActiveRecord::Base
# this will return the time formatted as a string:
def time_first
read_attribute(:time_first).strftime("%H:%M:%S")
end
# or
# this will return the time as todays datetime object:
def time_first
Time.parse(read_attribute(:time_first).strftime("%H:%M:%S"))
end
end
选择最适合您需求的方法之一。