JavaScript - 比较两个时间戳

时间:2012-06-30 14:17:24

标签: javascript

我尝试比较两个这样的时间戳:

var nowDate = new Date();
var givenDate = new Date(parseInt(year), parseInt(month), parseInt(day), parseInt(hour), parseInt(minute), 0);
var nd_timestamp = nowDate.getTime();
var gd_timestamp = givenDate.getTime();

if (nd_timestamp > gd_timestamp) {
    alert("yes");   
}

但它无法正常工作。如果我查看nd_timestamp和gd_timestamp一切看起来都很好,但是if子句不起作用。如果我删除parseInt(年份)...并输入Date(2012,04,20,0,0,0),则if子句正在运行。

变量年,月等是通过一个函数来实现的,但是如果我用alert(year)等调试它,一切都很好。表格中的给定日期小于实际日期。

有人知道它为什么不使用变量吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

您应该检查传递给Date构造函数的值是否有效,其中包括明确指定10作为所有parseInt的第二个参数要求避免令人讨厌的惊喜。

关于第二个参数,文档说

  

虽然此参数是可选的,但请始终将其指定为消除   读者混淆并保证可预测的行为。不同   当基数不是时,实现产生不同的结果   指定。

答案 1 :(得分:2)

你必须从月份取1,因为出于某种原因,它与其他原因不同。