我应该使用什么样的正确类型来存储最新的日期?

时间:2011-05-21 11:48:47

标签: ruby-on-rails database datetime date types

我想在我的数据库中存储事件的日期,但我想这样做而不存储关于秒或小于秒的任何信息。使用Rails,在我的迁移中,我可以选择创建date列或datetime列,第一列太精确,第二列太多(直到第二列)而且更少)。我应该选择哪种类型存储这样的日期?目前我正在使用datetime并在每次在模型中设置某个日期时手动将秒设置为固定值(例如0)。

这样的事情:

self.date ||= Time.now.change(:sec => 0)

我完全不合时宜吗?我应该只为日期的每个组成部分使用整数字段吗? (年,月,日等......)或datetime是正确的类型,但我不理解它的目的? (我认为这意味着时间戳和时间紧迫的事情)

1 个答案:

答案 0 :(得分:1)

datetime是正确的类型。并确保在时区UTC没有时区存储它:

http://derickrethans.nl/storing-date-time-in-database.html

根据您的选择,使用SQL触发器将日期舍入到插入/更新的分钟。它会简化你的ruby代码。