我想让用户指定一个日期,该日期可能包括也可能不包括日和月(但至少会有年)。问题是它何时作为日期时间存储在数据库中;缺少的日/月将保存为默认值,我将丢失日期的原始格式和含义。
我的想法是除了日期时间列之外,将实际格式作为字符串存储在列中。然后,每当我必须显示其他所有内容的日期和日期时间时,我都可以使用字符串列。缺点是我要显示的表中的每个日期列都有一个额外的列,并且打印本地化日期不会那么容易,因为我不能依赖日期时间值......我可能不得不解析字符串.
我希望我忽略了一些东西,并且可能有更简单的方法。
(请注意,如果对解决方案很重要,我正在使用 Rails。)
最佳答案
As proposed by Jhenzie , 创建位掩码以显示已指定日期的哪些部分。 1 = 年,2 = 月,4 = 日,8 = 小时(如果您决定更具体),然后将其存储到另一个字段中。
在不需要表中额外列的情况下,我能想到的唯一方法是使用 jhenzie 的使用位掩码的方法,然后将该位掩码存储到日期时间列的秒部分中。
关于ruby-on-rails - 我将如何存储可能是部分的日期(即只有年份,也可能是月份)并稍后以相同的规范输出它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/90246/