2016-08-31 8 views
0

私は現在の時刻と将来の時刻を比較しようとしています。これらの時間が同じ場合、私はメッセージを表示したい。しかし、以下のコードは動作していません。私はコンソールをチェックしており、now.getTime()はおそらくend.getTime()と同じではないでしょうか?比較時間が動作していないjavascript

誰もがこれを克服する方法を知っていますか? this answer hereに続いて、私はそれがうまくいくはずだと信じています。

function compareTimes() { 
    var end = new Date("August 31, 2016 11:04:18"); 
    var now = new Date(); 

    if (now.getTime() == end.getTime()) { 
     clearInterval(timer); 
     document.getElementById('countup').innerHTML = 'EXPIRED!'; 
     return; 
    } 
} 

setInterval(compareTimes, 1000); 
+1

あなたは '(now.getTime()> = end.getTime())'を意味すると思います。 – Hydro

+1

"は決して" --- 2016年8月31日11時04分18秒になるでしょう "と決して同じではありません。それとも、すでに、あなたの現在の時間をチェックしていた。 – zerkms

+1

@nicematt私はそれがより大きいかどうかをチェックするものだと思います。 –

答えて

1

setIntervalfunction compareTimes秒ごとに実行すると、あなたの機能はまさにその瞬間に時間を比較します。両方の時間が同じになることはほとんどありませんので、divをEXPIREDに設定することはできません。これを克服するには、時間が現在の時間よりも大きいかどうかを確認することをお勧めします。つまり、if (now.getTime() > end.getTime())は、divにEXPIREDという状態を設定します。

関連する問題