【发布时间】:2020-01-03 14:06:24
【问题描述】:
应用程序必须根据当天的当前时间显示大门是打开还是关闭的消息。
大门在上午 8:00 至上午 9:30 之前或下午 5:50 之后至晚上 9:00 之前打开,其余时间大门保持关闭。我想根据时间输入显示消息。以下代码输出意外且不正确。
function isValid(date, h1, m1, h2, m2) {
var h = date.getHours();
var m = date.getMinutes();
return (h1 < h || h1 == h && m1 <= m) && (h < h2 || h == h2 && m <= m2);
}
function a() {
var current = new Date('2020-01-03 09:31:00');
if ((isValid(current, 8, 0, 9, 30)) || (isValid(current, 5, 50, 21, 0))) {
return 'Gate is open'
} else {
return 'Please come after 8:00am and before 9:30am OR after 5:50pm and before 9:00pm';
}
}a();
【问题讨论】:
-
这能回答你的问题吗? compare timestamps in javascript
-
没有。我期望的是根据输入时间显示 Gate is open 或 else 消息。此处输入时间为 2020-01-03 09:31:00 必须显示“请来...”
-
该链接向您展示了如何将当前时间与其他任意时间进行比较,这正是您所要求的。
-
解析不受支持的字符串格式取决于实现。
new Date('2020-01-03 09:31:00')在至少一个当前浏览器中返回无效日期,请参阅 Why does Date.parse give incorrect results?
标签: javascript date datetime