特定の概念は、日付時刻ではなく日付として理解しやすい場合があります。たとえば、誕生日、支払日、支払期日はすべて潜在的に日付時刻になる可能性がありますが、単純な日付として表示する方がはるかに優れています。これらをdatetimesとして表現すると、混乱やあいまいさが発生する可能性があります。
まず、コードの将来のメンテナーは、あなたがすでにdate
を使用していると思うかもしれません。明らかに同一の2つの誕生日が「等しくない」可能性があるため、比較演算がどのように動作するかによって驚くことがあります。
また、誕生日がdatetime
であることがわかっていても、すぐにはわかりません。時間が常にUTCでの出生の正確な時刻であることは合理的かもしれません。ただし、ユーザーから取得したデータが不完全であり、UTCの午前0時をデフォルトとする場合は、考慮する必要があります。そして、あなたがそれを行うと、真夜中のUTC時間の誕生日が自動入力されたのか、それとも実際にユーザーが提供したデータなのかどうかはもう分かりません。
それ以外の場合、各datetime
にプレースホルダ深夜UTC時間を割り当てるだけで、各誕生日の関連する時間フィールドの意味は、コードベースを初めて使用している人にとってはすぐには分かりません。この規則を認識していない人は、これらのうちの1つの時間フィールドを変更する可能性があります。そのため、機能が非常に見えなくなる可能性があります。もしそれがちょうど日付だったら、その問題は回避されていたでしょう。
tl、dr:date
が存在するため、開発者は「仕事に適したツール」を使いやすくすることができます。
日付はすべて重要です。 – agf
日付はdatetimeより少し小さいスペースをとります。大きなシステムでは大きな違いがあります。 – nagisa
日付は、86400秒または86401秒の期間の日付時間の範囲です。時間は日常的な繰り返しです。 –