javascript - 检查今天是否在日期数组中

标签 javascript date

我正在尝试检查今天(0:00)是否在日期数组中,如下所示:

var today = new Date();
today.setHours(0, 0, 0, 0);
var holidays = [
  new Date(2017, 5, 21, 0, 0, 0).getTime(), // Today
  new Date(2017, 5, 22, 0, 0, 0).getTime(),
  new Date(2017, 5, 23, 0, 0, 0).getTime(),
  new Date(2017, 5, 24, 0, 0, 0).getTime(),
  new Date(2017, 5, 25, 0, 0, 0).getTime()
];
if ($.inArray(today, holidays) > -1) {
  alert('Closed');
} else {
  alert('Open');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

但是如您所见,今天(6 月 21 日)找不到,

知道我错过了什么吗?

最佳答案

您正在比较日期对象和时间:

var today = new Date();
today.setHours(0, 0, 0, 0);
var holidays = [
  new Date(2017, 5, 21, 0, 0, 0).getTime(), // Today
  new Date(2017, 5, 22, 0, 0, 0).getTime(),
  new Date(2017, 5, 23, 0, 0, 0).getTime(),
  new Date(2017, 5, 24, 0, 0, 0).getTime(),
  new Date(2017, 5, 25, 0, 0, 0).getTime()
];
if ($.inArray(today.getTime(), holidays) > -1) {
  alert('Closed');
} else {
  alert('Opened');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

关于javascript - 检查今天是否在日期数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44671533/

相关文章:

r - Sparklyr - 在 Spark 中更改日期格式

mysql - Visual Studio 表中日期之间的 SQL 查询

php - 将 m/d/y(01/1/2001 示例)字符串存储为 DATE

javascript - 如何在ajax调用后删除并重新加载jQuery/javascript函数

javascript - 如何利用 Caspio Datapage 在 Angular 8 应用程序中嵌入/调用外部 javascript

javascript - 如何在 Cycle.js 中捕捉键盘事件?

javascript - 在 Jquery Mobile/Javascript 中使用推送通知

javascript - Browserify - 找不到模块 'jquery'

javascript - moment.js 并在日历 View 中获取尾随日期

mysql - 通过 ID 限制响应 (MySQL/CakePHP)