JavaScript中的增量月份使用setMonth()删除DATE格式

时间:2018-11-28 15:09:57

标签: javascript validation date format

下面是我的JavaScript代码,试图创建一个最长日期,以使用户无法预订未来数月的时间:

var x= 12;
var arriveDate = "28/11/2018"
var currentDate = new Date();
var a_date = new Date(arriveDate);
var max_month = currentDate.setMonth(currentDate.getMonth()+ x);

if (arriveDate === ""){
        $("#arrive_date_error").html("Please don't leave this field blank");
    }
    else if (a_date < currentDate){
        console.log("Please don't select a date in the past")
    }
    else if (a_date > max_month){
        console.log("date in future")
    }

无论我尝试的月/日/年如何,最后的一切似乎都无法解决。我决定使用console.log(max_month)来查看它创建的月份并返回: 1574953488195 而不是正确的格式: 2019年11月28日星期四15:04:48 GMT + 0000

我在做什么错,为什么当我尝试更改日期对象的月份时会更改格式?

1 个答案:

答案 0 :(得分:1)

currentDate突变了 var max_month = new Date(+currentDate); max_month.setMonth(max_month.getMonth() + x); ,它没有返回新的日期。您可能想要克隆日期并设置该克隆日期的月份:

$validator->errors()