我必须比较他们想要投入的日期和今天的当前日期,如果他们已经输入了将来的日期,那么提醒他们更改日期,否则插入数据。
基本上我在比较日期方面遇到了问题。这是我的代码:
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!');
}
但这似乎不起作用。我哪里错了?
答案 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!');
}