javascript - 如果当前时间大于且小于特定时间,如何调用函数

标签 javascript jquery

我正在尝试在特定时间之间调用函数。在上午 6:00:00 到晚上 8:00:00 之间,应执行 myFunction()。否则应执行 otherFunction()。

if (new Date().getHours() > "6" && new Date().getHours() < "20") {
              myFunction();
} else {
              otherFunction();
}

上面有时有效..但我觉得它不准确...我也使用了 moment.js 和:

if (moment().format("h:mm:ss A") > "6:00:00 AM" && moment().format("h:mm:ss A") < "8:00:00 PM") {

我想我解决了这个问题:

    var now = moment();
    var amStart = moment('9:00 AM', 'h:mm A');
    var amFinish = moment('10:00 PM', 'h:mm A');
    if (now.isAfter(amStart) && now.isBefore(amFinish)) {
      console.log('Success Function');

    } else {
      console.log('Failure Function')
    }

最佳答案

getHours() 返回一个数字,而不是字符串,因此您应该与数字进行比较。

您需要使用>=,而不是>,因为当6:10时,getHours() > 将返回 6,而 6 > 6 不为 true。

var hour = new Date().getHours();
if (hour >= 6 && hour < 20) {
    myFunction();
} else {
    otherFunction();
}

关于javascript - 如果当前时间大于且小于特定时间,如何调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39153941/

相关文章:

php - 使用 PHP 和 jQuery 更改 CSS 样式

javascript - 无序列表中相应产品的悬停状态

javascript - 使用 jQuery 在页眉和页脚之间滚动时如何使侧边栏变粘(不滚动它们)?

javascript - 如何正确使用 Backbone.js 集合来显示列表

javascript - 使用 Javascript 添加 OnClick 事件不起作用

javascript - 如何在无限循环中等待函数完成?

javascript - iFrame 是好是坏?

jquery - 修复其中所有选项卡的引导模式内容大小

javascript - 选择并获取与页面上其他元素具有相同类的跨度的内容

javascript - 无法将选项添加到多个选项组