9
真の「日付のみ」のデータ型がないのはなぜですか?
本当に「たった1日」のデータセットにDateTime値を使用しなければならないことに、とてつもなくイライラしています。誕生日は最も一般的な例ですが、これは常にビジネスアプリケーションで発生します。 「日付のみ」のレコードの「時刻」部分を「正午」に設定することに慣れてきました(タイムゾーンに関係なく日付が変更されることを回避します)。これはハックのように思え、私はこの問題を巡るジュニア開発者からのバグを永遠に見つけています。 時間は常に固定小数点に対して相対的です。午後4時は、子午線または正午の4時間後です。移動中の太陽の最高点は観測可能であり、座標系を設定できます。正午の3時間前(前子午線)、正午の2時間後、1970年1月1日から1441899402938ミリ秒。デカルト世界で育った人々にとって、これは2番目の性質です。 ただし、カレンダーはデカルトより前のものです。私の主張は、モジュロ関数が適用される列挙としてより適切に考えられているということです。月曜日が日曜日に続き、日曜日が土曜日に続くという事実がわかるまで続きます。正負はありません。モジュラスまたは絶対値です。 同様に年が繰り返されます。誕生日、記念日、子供の誕生日など、365日ごと(またはそれ以降)に特別な日がいくつかあります。ビジネススケジューリングアプリケーションには、7日ごと、月の最初の火曜日などの会議の例がたくさんあります。これを浮動小数点数にマッピングすることができます。実際には、これを上記の数にマッピングすることで、従来の方法では非常に困難だった多くの問題を解決できますが、それが唯一の方法ではありません。 DateTimesを使用してDatesを保存するという「丸い穴の四角い釘」の性質に対する認識と理解は、私の意見では優れたプログラマーになります。 Dateクラスを定義する際にスケジューリングアプリケーションとして明示的に意図されたアプリケーションに価値はありますか、それとも「正午にすべての時間を設定する」ことが最善のアプローチですか。DateTimeを使用し、Timeコンポーネントを正午に設定すると、どのような問題が発生する可能性がありますか?そのようなアプローチでタイムゾーンのシフトを考慮することができますか?私はMomentJSを使用しましたが、それはちょうど良いDateクラスだと思います。