看看今天选择的日期是否是未来 - JavaScript

时间:2014-01-24 19:59:27

标签: javascript date compare

我必须比较他们想要投入的日期和今天的当前日期,如果他们已经输入了将来的日期,那么提醒他们更改日期,否则插入数据。

基本上我在比较日期方面遇到了问题。这是我的代码:

var today = year + '-' + month + '-' + day + ' 00:00:00';

var d1 = new Date(postdate); // postdate = 2014/02/01 ie: 1 Feb 2014
var d2 = new Date(today); // todays date
if(d1>d2){
    alert('You cannot post in the future!');
}

但这似乎不起作用。我哪里错了?

3 个答案:

答案 0 :(得分:0)

将日期转换为可比较的数字,例如毫秒。

if(d1.valueOf()>d2.valueOf()){
    alert('You cannot post in the future!');
}

答案 1 :(得分:0)

您无需创建新变量today。 如果到今天你想要今天的日期,你可以做到 var today = new Date();

var d1 = new Date(postdate); // postdate = 2014/02/01 ie: 1 Feb 2014
//----------
var d2 = new Date(year,month,day); // todays date
//----------

if(d1>d2){
    alert('You cannot post in the future!');
}

记住month是基于0的索引。因此,对于12月,它将是11。

答案 2 :(得分:0)

比较具有相同格式的日期,如果今天是2014-01-24 00:00:00,那么postdate也应该是2014-02-01 00:00:00

然后使用+前缀来比较毫秒:

if(+d1 > +d2){
    alert('You cannot post in the future!');
}