【问题标题】:How to store year in Rails app如何在 Rails 应用程序中存储年份
【发布时间】:2010-09-17 04:01:47
【问题描述】:
我只想将年份存储在我的一个模型中。目前我只有一个名为年份类型日期的数据库字段,但它似乎想要一个完整的日期(yyyy-mm-dd)而不是一年。
存储它的最佳方式是什么?在日期字段中,但使用某种方式获取它来存储日期位(在这种情况下,如何?),或在 int 字段中,或字符串字段或什么?在某些方面使用 int 字段感觉不对,但它可能是最简单的。
【问题讨论】:
标签:
ruby-on-rails
database-design
datetime
【解决方案1】:
这取决于可能的日期范围。如果您的日期从 BC 到遥远的未来(负数到 4 位以上),存储一个整数将是最简单的(仅出于排序原因)。如果您想进行计算或比较日期,这也是正确的。
否则我可能会使用字符串。
使用日期字段使用 1 月 1 日并在显示时提取年份部分。
【解决方案2】:
基于可维护性,我建议不要在日期字段中使用任意选择的日期。你会知道你已经任意选择了这个,但你的应用程序的后续维护者会吗?
我会选择一个 int,因为这样你就不会存储除你想要存储的东西之外的任何东西,而且它的含义不会有太多混淆。