我正在尝试检查今天(在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日)没有找到,
知道我错过了什么吗?
发布于 2017-06-21 17:06:55
您正在将日期对象与时间进行比较:
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>
发布于 2017-06-21 17:07:15
在$.inArray调用中,将"today“更改为"today.getTime()”
发布于 2017-06-21 17:08:39
today
和today.getTime()
是不同的。
var today = new Date();
today.setHours(0, 0, 0, 0);
today=today.getTime();
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('Opened');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
https://stackoverflow.com/questions/44671533
复制相似问题