寻找时差并执行条件

时间:2012-02-15 12:40:10

标签: javascript

var currentTime = Math.round(new Date().getTime()/1000)
var previousTimeStamp = Math.round(new Date().getTime()/1000)

var difference = currenTime - previousTimeStamp

if(difference < 0 minutes) {
   execute some code
}

此条件未执行。

5 个答案:

答案 0 :(得分:1)

您的代码顺序没有意义,并且在currenTime中有一个拼写错误。

1)两次相同,几乎是一毫秒 2)JavaScript中没有“0分钟”这样的东西

您希望差异小于60000毫秒并使用两个不同的时间

你的意思是

var previousTimeStamp = Math.round(new Date().getTime()/1000); // seconds
// here I guess some code comes which takes some time 
var currentTime = Math.round(new Date().getTime()/1000); // seconds

var difference = currentTime - previousTimeStamp

if(difference < 60) { // took less than a minute
   execute some code
}

答案 1 :(得分:1)

您的代码有几个问题。首先,您有currenTime而不是currentTime。其次,你有0 minutes这是无效的Javascript。第三,你可能意味着一分钟而不是零分钟,因为如果当前时间早于,那么你只能得到小于0的时间。第四 - 这可能只是因为你提供说明性的示例代码而不是真实的东西 - 你实际上是在“上一个时间戳”之前测量“当前时间”,这没有任何意义。

答案 2 :(得分:0)

我假设差异将等于0.在这种情况下,0 <0。 0为false,因此不执行代码。

我认为计时器的分辨率非常大,所以请记住这一点,因为您经常会为两个时间戳获得相同的值。

答案 3 :(得分:0)

您的代码中有几处错误。这是正确的。

var currentTime = Math.round(new Date().getTime()/1000);
var previousTimeStamp = Math.round(new Date().getTime()/1000);

var difference = currentTime - previousTimeStamp;

if (difference < 60) {
   alert(1);
}

答案 4 :(得分:0)

我从未使用minutes,你试过使用过:if(difference < 60)因为你已经将它们设置为秒?