時間コンポーネントを無視して 2 つの日付を比較しようとしています。ただし、コードが間違っているようです。コードを調べて解決策を見つけてみましょう。
if (userDate > now)
この比較では、時刻コンポーネントを含む Date オブジェクト全体を比較します。これにより、特に 2 つの日付の時間が異なるが日と月が同じ場合、不正確な結果が生じる可能性があります。
日付部分のみに注目するには、Date オブジェクトの時間コンポーネントをゼロにします。これは、時、分、秒、ミリ秒の値を 0 に設定して setHours メソッドを使用することで実現できます。
コードの調整されたバージョンは次のとおりです。
var userDate = new Date(); userDate.setFullYear(dateArray[2], userMonth, dateArray[0], 0, 0, 0, 0); var now = new Date(); now.setHours(0, 0, 0, 0); if (userDate > now)
これで、比較が評価されます。 Date オブジェクトの日付部分のみであり、時間コンポーネントは無視されます。これにより、userDate が現在より大きいかどうかを確認するときに、望ましい結果が得られるはずです。
以上が時間を使わずにJavaScriptで日付を比較する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。