gpt4 book ai didi

javascript - 检查 JavaScript 中的日期是否匹配

转载 作者:行者123 更新时间:2023-12-02 18:31:03 25 4
gpt4 key购买 nike

我正在创建一个自定义 ASP.Net 验证器,用于检查输入的数据是否为非工作日。

“非工作日”的定义是:

  1. 日期是星期六或星期日
  2. 该日期为国家法定节假日

我已经编写了 C# 内容,并为错误消息和一串假期日期创建了 Expando 属性。完成此操作后,我创建了一个 JavaScript 函数,其中包含此代码来检查是否有工作日。为了简洁起见,我删除了其他代码。

if (sender.NonWorkingDayErrorMessage && sender.Holidays) {

// Is weekend
if (date.getDay() == 6 || date.getDay() == 0) {
sender.innerHTML = sender.NonWorkingDayErrorMessage;
return;
}

// Is holiday
var holidays = sender.Holidays.split(";");

for (var i = 0; i < holidays.length; i++) {

var h = new Date(Date.parse(holidays[i]));

if (h === date) {
sender.innerHTML = sender.NonWorkingDayErrorMessage;
return;
}
}
}

我遇到的问题是代码 h === date 始终为 false - 这是我添加警报并输入 26/8/2013 时得到的输出。

Mon Aug 26 2013 00:00:00 GMT+0100 (GMT Standard Time) => Mon Aug 26 2013 00:00:00 GMT+0100 (GMT Standard Time) => false

正如你所看到的,我解析了假期,但我也像这样进一步测试了输入“日期”,如下所示:

// Deconstruct string and reconstruct
// as date.
var parts = args.Value.split("/");
var day = parseInt(parts[0],10);
var month = parseInt(parts[1],10) -1;
var year = parseInt(parts[2],10);
var date = new Date(year, month, day);

// Valid date format but not a valid date
if (date.getFullYear() !== year || date.getMonth() !== month || date.getDate() !== day) {
sender.innerHTML = sender.InvalidErrorMessage;
return;
}

有人知道为什么这两个日期不被视为匹配吗?

最佳答案

尝试这样

var  a = new Date(2013,12,1);
var b = new Date(2013,12,1);

a.getTime() === b.getTime()

关于javascript - 检查 JavaScript 中的日期是否匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17786315/

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