2 つの日付を比較する場合、時刻を無視して日付部分のみを考慮したい場合があります。これを JavaScript で実現する方法を次に示します。
提供されたコードは、ユーザー入力の日付を新しい Date オブジェクト userDate に割り当てて日付を比較しようとしますが、元の時刻は保持されます。これからコンポーネント。これにより、誤った比較が行われます。
時間とは独立して日付部分を比較するには、ユーザー入力日付の時間部分を明示的にゼロに設定する必要があります。正しいアプローチは次のとおりです。
userDate.setHours(0, 0, 0, 0);
これを行うと、userDate オブジェクトは日付コンポーネントのみを表すようになり、> を使用して現在と正確に比較できます。演算子。
if 条件を使用する代わりに、より単純な構文を使用できます。
const result = userDate > now;
別のアプローチは次のとおりです。指定された日付オブジェクトから日付部分を抽出するヘルパー関数を作成します:
const getDatePart = (date) => { return new Date(date.getFullYear(), date.getMonth(), date.getDate()); };
その後、== 演算子を使用して 2 つの日付の日付部分を比較できます:
const nowDatePart = getDatePart(now); const userDatePart = getDatePart(userDate); const result = nowDatePart == userDatePart;
以上がJavaScriptで2つの日付の日付部分のみを比較するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。