gpt4 book ai didi

javascript - 确定两个日期是否介于两个日期之间

转载 作者:行者123 更新时间:2023-11-29 19:37:08 25 4
gpt4 key购买 nike

我想检查两个日期是否介于另外两个日期之间。例如:

date aStart = 20-10-2013
date aEnd = 30-10-2013
date bStart = 21-10-2013
date bEnd = 29-10-2013

bStartbEnd 介于 aStartaEnd 之间。目前我有这段代码,但在某些情况下它会失败:

if(bannerStartDateTime > bannerEndDateTime) {
alert("Start Date Banner > End Date Banner.");
return;
}
if(bannerStartDateTime < workOrderCampaignStartDateTime) {
alert("Start Date Banner < Start Date WO.");
return;
}
if(bannerEndDateTime < bannerStartDateTime) {
alert("End Date Banner < Start Date Banner.");
return;
}
if(bannerEndDateTime > workorderCampaignEndDateTime) {
alert("End Date Banner > End Date WO.");
return;
}

代码有什么问题?谢谢。

最佳答案

What's wrong with the code?

声明:

date aStart = 20-10-2013

不是有效的 javascript。并且:

if (bannerStartDateTime > bannerEndDateTime)

使用两个尚未声明或初始化的标识符。

如果您打算将字符串 '20-10-2013' 转换为日期,那么您需要编写一个小型解析器,例如:

function dmyToDate(s) {
var b = s.split(/\D+/);
return new Date(b[2], --b[1], b[0]);
}

不要试图将日期字符串传递给 Date 构造函数,因为这将调用 Date.parse,这在浏览器之间是出了名的不一致,即使使用格式 specified in ECMA-262 也是如此。 .

现在你的代码可以是:

var bannerStartDateTime = dmyToDate('20-10-2013');
var bannerEndDateTime = dmyToDate('30-10-2013');

等等。然后您可以使用 < 继续比较和 >运营商。

关于javascript - 确定两个日期是否介于两个日期之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24818673/

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