【发布时间】:2014-04-22 19:26:37
【问题描述】:
我想在我的 Postgres 数据库中存储日期。
唯一的问题是这个日期可以有可选的日期甚至月份。
示例:
用户提供他受雇的时间段 - 不需要完整日期(日 + 月 + 年),而只提供开始年份和结束年份。
但是也有用户在同一年的 5 月到 10 月工作,所以也必须提供月份。
如何处理这种可选的日期部分?
【问题讨论】:
-
是否应该将 2000 年开始工作的用户与 2000 年 1 月 1 日开始工作的用户区分开来?
-
这是前端表示的问题,如果用户没有提供,我想隐藏月份和日期字段。
-
似乎您实际上需要将它们存储为年、日、月。否则,您将无法提供有效的
Date。然后你可以建立一个Date如果所有的属性都给出了。这样 U/I 也会更容易,因为您可以提供 3 个下拉列表。 -
或者只是一个普通的字符串输入,带有用于不同用例的模式验证器和一个模型方法,如果可以解析字符串(例如
Date.parse,则返回相应的日期对象。 -
仅供参考,这些被称为“模糊日期”或“部分日期”
标签: ruby-on-rails ruby database postgresql database-design