如何采取今天的日期,而不是以前的日期?

时间:2016-01-07 14:31:01

标签: jquery momentjs

我想插入今天的日期,而不是之前的日期才能插入到数据库中,但它需要从明天开始,而不是今天的日期

var now = moment(new Date());
var mDate = moment(new Date($('.meetingDate').val())).format("M/D/YYYY");
//now.format("yyyy/mm/dd");
var duration = moment.duration(now.diff(mDate));
var days = duration.asDays();
//alert(now + mDate);
alert(days);
if (days > 0) {
    e.preventDefault();
    alert("Please enter valid date");
    $validation = false;
}

1 个答案:

答案 0 :(得分:0)

这是因为当你计算时,它已经完成了这一天,并在第二天开始计算。因此,如果超过凌晨12:00:00,您需要使用前一天进行计算。所以,你要做的是:

var myDate = new Date();
if (myDate.getHours() != 0 && myDate.getMinutes() != 0 && myDate.getSeconds() != 0 && myDate.getMilliseconds() != 0)
  myDate.setDate(myDate.getDate() - 1);
var now = moment(myDate);
var mDate = moment(new Date($('.meetingDate').val())).format("M/D/YYYY");
//now.format("yyyy/mm/dd");
var duration = moment.duration(now.diff(mDate));
var days = duration.asDays();
//alert(now + mDate);
alert(days);
if (days > 0) {
    e.preventDefault();
    alert("Please enter valid date");
    $validation = false;
}

这应该可以解决。

或者以更简洁的方式,您还可以将新日期的时间设置为0:00:00:0000

var myDate = new Date();
myDate.setHours(0)
myDate.setMinutes(0)
myDate.setSeconds(0)
myDate.setMilliseconds(0)