首页 > 解决方案 > 用于删除过期日期的 JavaScript 算法?

问题描述

有问题将未来和当前日期处理为“新日期”......而旧的过期日期作为 JS 的“旧日期”

 <!DOCTYPE html>
<html>
<head>
<script>

代码函数函数 myFunction() {

weekday array to store days of the week
var weekday=new Array(7);
var month=new Array(12);
weekday[0]="Sunday";
weekday[1]="Monday";
weekday[2]="Tuesday";
weekday[3]="Wednesday";
weekday[4]="Thursday";
weekday[5]="Friday";
weekday[6]="Saturday"; 

month array to store months 
month[0]="Jan";
month[1]="Feb";
month[2]="Mar";
month[3]="Apr";
month[4]="May";
month[5]="Jun";
month[6]="Jul";
month[7]="Aug";
month[8]="Sep";
month[9]="Oct";
month[10]="Nov";
month[11]="Dec";

current date with year, month and day   
var currentDate = new Date();

random date string testing values              
var x = new Date("Friday May 24 2019 23:58:09 GMT-0400 (Eastern Daylight Time)");
var getDayInt = " " ;
getDayInt += new Array("Friday May 24 2019 23:58:09 GMT-0400 (Eastern Daylight Time)");
var splitString = " ";
splitString = getDayInt.split(" ");
var day = weekday[x.getDay()];
var getMonth= month[x.getMonth()];
var year = splitString[4];


//values in console log
console.log(year);
console.log(x.getMonth());
console.log(day); 
console.log(weekday[currentDate.getDay()] + ' currentDate.getDay()');

//current or future year
if (currentDate.getFullYear() <= year) {
    document.getElementById("t").innerHTML='<div>year</div>';

//current or future month
if (currentDate.getMonth() <= x.getMonth()) {
    document.getElementById("t").innerHTML='<div>month</div>';

问题开始的地方想要当前或未来的一天

  if (weekday[currentDate.getDay()] >= day || weekday[currentDate.getDay()] <=day) {

document.getElementById("t").innerHTML='<div>new date</div>';

  }
}
}else{

     document.getElementById("t").innerHTML='<div>old date</div>';
}



}
</script>
</head>

<body onload="myFunction()">
<h1 id= "t">Hello World!</h1>
</body>

</html>

我希望“旧日期”输入“2019 年 5 月 24 日星期五 23:58:09 GMT-0400(东部夏令时间)”而不是新日期..

标签: javascript

解决方案


<!DOCTYPE html>
<html>
<head>
<script>
function myFunction() {

//set date

month[0]="Jan";
month[1]="Feb";
month[2]="Mar";
month[3]="Apr";
month[4]="May";
month[5]="Jun";
month[6]="Jul";
month[7]="Aug";
month[8]="Sep";
month[9]="Oct";
month[10]="Nov";
month[11]="Dec";

// current date 
var currentDate = new Date();

//random date testing values           
var x = new Date("Friday Jan 20 2020 23:58:09 GMT-0400 (Eastern Daylight Time)");
var getDayInt = " " ;
getDayInt += new Array("Friday Jan 20 2020 23:58:09 GMT-0400 (Eastern Daylight Time)");
var res = " ";
res = getDayInt.split(" ");
var day = res[3];
var getMonth= month[x.getMonth()];
var year = res[4];

//filter year
if (currentDate.getFullYear() <= year) {

//filter months with years
if ((currentDate.getMonth() <= x.getMonth() && currentDate.getFullYear() < year)
    ||(currentDate.getMonth() >= x.getMonth() && currentDate.getFullYear() < year) 
    || (currentDate.getMonth()<= x.getMonth())) {

// filter days, months and years
  if ((currentDate.getDate() >= day && year > currentDate.getFullYear())
   ||(currentDate.getDate() >= day && year > currentDate.getFullYear() && 
    currentDate.getMonth() <= x.getMonth()) || (currentDate.getDate() <=day) 
   || (year == currentDate.getFullYear() && x.getMonth() > currentDate.getMonth())) {

document.getElementById("t").innerHTML='<div>new date</div>';

  }
}

}else{

     document.getElementById("t").innerHTML='<div>old date</div>';
}



}
</script>
</head>

<body onload="myFunction()">
<h1 id= "t">Hello World!</h1>
</body>

</html>

推荐阅读