gpt4 book ai didi

javascript - 查找 HTML 日期,然后与当前数据进行比较

转载 作者:行者123 更新时间:2023-12-02 20:05:24 24 4
gpt4 key购买 nike

当借书卡即将过期或已过期时,我需要提醒顾客。他们看到的页面始终以这种格式显示其到期日期:

发布日期:2011年8月10日

发布日期:年-月-日

首先,我需要获取该日期并将其与今天的日期进行比较。然后,我需要以某种方式提醒顾客他们的卡将在 30 天内过期,或者让他们知道他们的卡已经过期。

如何从字符串中获取该日期?我如何将其与今天的日期进行比较?如何区分 future 30 天以内和过去 30 天以内的比较?如何为每个场景创建警报?

我并不是在寻找完整的解决方案,只是为了指明正确的方向。

非常感谢任何帮助,

紧缩

这就是我最终为日期分割和比较所做的事情。作为一个完全的新手,更容易概念化。不过,请随时提供建议和更清晰的方法来执行此操作...现在我只需要弄清楚如何从 html 中“抓取”日期。

感谢您的帮助!

紧缩

//below split date on hyphens

var s = '10-3-2011';
var fields = s.split(/-/);
var month = fields[0];
var day = fields[1];
var year = fields[2];

//below replace hyphens with slashes
var slashDate = (month + "/" + day + "/" + year)

// below convert string to date
var patexpDate = new Date(slashDate);

//below get todays date
var todaysDate = new Date();

//below patron expiration date minus todays date
var diffDates = (patexpDate - todaysDate)


if (diffDates >= 0 && diffDates <= 2592000000) {
alert('Your Library card expires in less than 30 days.');

}

else if (diffDates < 0) {
alert("Your Library card has expired.");

}

else alert('Card NOT expired.');

最佳答案

基本上,您只需从元素的 HTML 中获取日期组件即可。

 var dateString = someElement.innerHTML;

然后,用分隔符将其分开并拉出每个组件:

 var components = dateString.split('-');

var day = components[1];
var month = components[0];
var year = components[2];

然后,使用该数据创建一个新的 Date 对象:

 var expirationDate = new Date(day, (month - 1), year); 
// Remember, JavaScript uses 0-11 to represent months!

然后,获取当前日期,然后执行一些简单的数学运算来确定日期范围:

 var now = new Date();

if(now.getTime() >= expirationDate.getTime())
{
// Exp Date is in the past
}
else
{
// Exp date in the future
}

这应该可以让你开始。

关于javascript - 查找 HTML 日期,然后与当前数据进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7489812/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com