javascript - 用于删除过期日期的 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(东部夏令时间)”而不是新日期..
解决方案
<!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>
推荐阅读
- css - 如何从 GitHub 服务器获取字体系列
- c# - 当我的 DataGridView 中没有任何内容时,我需要禁用一个按钮
- editor - AWS Cloud9 IDE。如何跳转到匹配的括号?
- angular - s3 静态主机上的 Angular 应用程序未加载 node_modules 或路由
- vba - 阅读 Outlook 收件箱的最近 100 行
- android - 更新数据库记录时,分页列表(数据库 + 网络)触发 onItemAtEndLoaded
- c++ - 在类中将函数作为参数传递
- node.js - 部署 MERN 应用程序后,Heroku 无法从 db 检索数据(给出 503(服务不可用))
- python - 与循环内的“点”一起使用时,相对 xpath 不起作用
- webpack - 如何在 Webpack Encore Symfony4 中添加样式加载器?