首先你在后面转换当前时间的时候没有补0,其次没必要这么麻烦,你直接转化成时间戳去比较会更方便
var dateNumber = dataDate.replace(/\-/g, "");
var year = date.getFullYear()
var month = date.getMonth() + 1
var strDate = date.getDate()
if (month >= 1 && month <= 9) {
month = '0' + month
}
if (strDate >= 0 && strDate <= 9) {
strDate = '0' + strDate
}
var nowNumber = year + month + strDate ;
var date1=new Date(dataDate);
if(date1 == 'Invalid Date'){
alert("不是日期")
}else{
//看那你上面的注释就是想比较日期大小
var now = new Date();
//拼接日期,再做比较,就不用管时分秒
var now1= now.getFullYear() + "-" + (now.getMonth()+1) +"-" + now.getDate();
var date2= date1.getFullYear() + "-" + (date1.getMonth()+1) +"-" + date1.getDate();
//日期可以直接用 < > = 比较
if(new Date(date2)>new Date(now1)){//格式化拼接的日期,
//传进来的日期比当前日期大
}else{
}
}
进行两个日期之间的比较建议看一下:https://blog.csdn.net/yolo_link/article/details/126194964
20220901 这样获取日 直接字符串截取 。获取当前时间怎么保证与之前的时间格式一致 那你需要格式化 一下 获取的当前时间
那你不能默认字符串拼接,getMonth之后要主动ToString,保留2位,再拼接
var dateNumber = new Date(datadate).getTime()
var nowNumber = new Date().getTime()
return dateNumber - nowNumber