我正在使用rails 3,当我将它们保存到数据库中时,我想更改created_at和updated_at日期的默认日期格式。
默认日期格式为%Y-%m-%d %H:%M:%S
,但是
我希望它是%Y%m%d%H%M%S
我应该在哪里更改格式?我正在尝试在初始化文件夹中创建一个time_formats.rb。
以下是内容:
class TimeFormats
Time::DATE_FORMATS[:db] = "%Y%m%d%H%M%S"
Time::DATE_FORMATS[:default] = "%Y%m%d%H%M%S"
end
这不起作用。有人可以帮助我吗?谢谢。
答案 0 :(得分:2)
您在初始值设定项中定义的时间和日期格式仅在将它们转换为Ruby中的字符串时才适用。您定义的格式将像Time.now.to_s(:default)
一样使用。
我不建议(也不知道如何)更改日期在数据库中的存储方式。您应该让数据库默认存储它们,然后使用初始化程序中定义的.to_s(:format)
更改它们在视图中的格式。
答案 1 :(得分:0)
通常,数据库将时间戳存储为特定的timedate数据类型,而不是格式化的字符串。如果您只是希望默认的时间戳打印样式不同,您可以尝试覆盖created_at和updated_at方法:
def updated_at
super.strftime("%Y%m%d%H%M%S")
end