1

単一のフィールドまたは属性にさまざまな精度で日付/時刻データを格納する良い方法は何でしょうか。たとえば、release_date プロパティを持つ Movie クラスがあり、2012 年 12 月 24 日のような特定の日付になる場合もあれば、月や日がない 1948 年になる場合もあります。Ruby では、ゼロ値の日付部分は許可されていません。

これまでの私の唯一の良いアイデアは、時間を Number または Time として格納する別のフィールドを使用してデータをポリモーフィックに格納することでした。日付値は常に整数として格納されますが、それでも非常に見苦しく見えます。それ以外に考えられるのは、各データ部分を個別に保存することだけですが、それではソートが悪夢のように思えます。

おそらく、私が気付いていない一般的な方法があります。

4

1 に答える 1

0

部分日付ジェムを使用します。

部分的な日付値を単一の列/属性に格納するために使用できる単純な日付クラス。ユースケースの例には、完全な日付が不明なアーカイブまたはカタログ エントリが含まれます。年はオプションで、負の値にすることができます。月と日はオプションですが、月は日の前に設定する必要があります

PartialDate::Date は、日付インスタンスのバッキング ストアとして 30 ビット レジスタを使用し、年、月、日の値を取得または設定するためにビット操作を行います。

于 2012-07-14T23:20:10.740 に答える