簡體   English   中英

如何比較Javascript中的日期?

[英]How do I compare dates in Javascript?

我有以下情況:

我有一個運行循環並執行操作的特定函數,錯誤條件可能會使其退出該循環。 我希望能夠檢查循環是否仍在運行。

為此,我正在做,為每個循環運行:

LastTimeIDidTheLoop = new Date();

在另一個每30秒運行一次SetInterval的函數中,我想基本上這樣做:

if (LastTimeIDidTheLoop is more than 30 seconds ago) {
  alert("oops");
}

我該怎么做呢?

謝謝!

JS日期對象在內部存儲毫秒,相互減去它們按預期工作:

var diffSeconds = (new Date() - LastTimeIDidTheLoop) / 1000; 
if (diffSeconds > 30)
{
  // ...
}

關於什么:

newDate = new Date()
newDate.setSeconds(newDate.getSeconds()-30);
if (newDate > LastTimeIDidTheLoop) {
  alert("oops");
}

你可以這樣做:

var dateDiff = function(fromdate, todate) {
    var diff = todate - fromdate;
    return Math.floor(diff/1000);
}

然后:

if (dateDiff(fromdate, todate) > 30){
    alert("oops");
}

創建一個日期對象並使用setSeconds()。

controlDate = new Date();
controlDate.setSeconds(controlDate.getSeconds() + 30);

if (LastTimeIDidTheLoop > controlDate) {
...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM