如何在Rails应用程序中存储年份

时间:2008-10-14 18:35:07

标签: ruby-on-rails database-design datetime

我想把这一年存放在我的一个模特中。目前我只有一个名为year of type date的数据库字段,但它似乎想要整个日期(yyyy-mm-dd)而不是一年。

存储此功能的最佳方法是什么?在日期字段中,但使用某种方式只是让它来存储日期位(在这种情况下,如何?),或在int字段,或字符串字段或什么?在某些方面使用int字段感觉不对,但它可能是最简单的。

2 个答案:

答案 0 :(得分:8)

这取决于可能的日期范围。如果您的日期从BC到远期(负数超过4位数),则最容易存储整数(仅用于排序原因)。如果要进行计算或比较日期,也是如此。

否则我可能会用字符串。

使用日期字段使用1月1日,并在显示时提取年份部分。

答案 1 :(得分:4)

我建议不要在可维护性的基础上在日期字段中使用任意选择的日期。你会知道你已经随意选择了这个,但你的应用程序的后续维护者会是什么?

我会选择一个int,因为这样你就不会存储除了你想存储的东西以外的任何东西,并且对它的含义不会有太多混淆。