JavaScriptで時間を比較せずに日付部分のみを比較する 質問する

JavaScriptで時間を比較せずに日付部分のみを比較する 質問する

以下のコードの何が問題なのでしょうか?

おそらく、時刻ではなく日付だけを比較する方が簡単でしょう。私もこれをどうやって行うのかよくわからず、検索してみましたが、正確な問題は見つかりませんでした。

ちなみに、アラートで 2 つの日付を表示すると、まったく同じものとして表示されます。

私のコード:

window.addEvent('domready', function() {
    var now = new Date();
    var input = $('datum').getValue();
    var dateArray = input.split('/');
    var userMonth = parseInt(dateArray[1])-1;
    var userDate = new Date();
    userDate.setFullYear(dateArray[2], userMonth, dateArray[0], now.getHours(), now.getMinutes(), now.getSeconds(), now.getMilliseconds());

    if (userDate > now)
    {
        alert(now + '\n' + userDate);
    }
});

時間を含めずに日付を比較するより簡単な方法はありますか?

ベストアンサー1

私はまだJavaScriptを勉強中ですが、時間なしで2つの日付を比較するのに私が見つけた唯一の方法は、setHoursDate オブジェクトのメソッドを使用して、時間、分、秒、ミリ秒を 0 に設定します。次に、2 つの日付を比較します。

例えば、

date1 = new Date()
date2 = new Date(2011,8,20)

date2時間、分、秒、ミリ秒は 0 に設定されますが、date1 では、date1 が作成された時刻に設定されます。date1 の時間、分、秒、ミリ秒を削除するには、次の操作を行います。

date1.setHours(0,0,0,0)

これで、時間要素を気にせずに、2 つの日付を日付としてのみ比較できるようになりました。

おすすめ記事