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

rob*_*ntw 10 datetime database-design ruby-on-rails

我想把这一年存放在我的一个模特中.目前,我只是有一个类型为日期的年份数据库字段,但它似乎想采取一个整体的日期(YYYY-MM-DD),而不仅仅是一年.

存储这个的最佳方法是什么?在日期字段,但使用的只是得到它存储日期位某种方式(在这种情况下,怎么样?),或在一个int字段或字符串字段还是什么?在某些方面使用int字段感觉不对,但它可能是最简单的.

Ral*_*ach 8

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

否则我可能会用字符串.

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


srb*_*ert 6

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

我会使用 int ,因为这样你不会存储任何你想要存储的内容,并且不会对它的含义产生太多混淆。