【问题标题】:How to take today's date and onward only not previous date?如何取今天的日期和以后的日期,而不是以前的日期?
【发布时间】:2016-01-07 14:31:00
【问题描述】:

我想插入今天及以后的日期,而不是以前的日期插入数据库,但它需要从明天起的日期,而不是今天的日期

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;
}

【问题讨论】:

  • @Satpal 从今天开始……呃……你为什么问这个问题?
  • @pallavi:你能重现小提琴中的问题吗?

标签: jquery momentjs


【解决方案1】:

因为当你计算时,它已经完成了一天,并考虑了第二天。因此,如果超过上午 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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-12
    • 2023-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多