Javascript 在特定日期/时间打开模式

Javascript 在特定日期/时间打开模式,javascript,jquery,Javascript,Jquery,我一直在开发一个web应用程序,我想知道是否有一种方法可以在特定的日期/时间显示模型 在应用程序中,用户可以预订任务或提醒,因此,当我从数据库中读取特定任务时,我希望在用户指定的日期/时间安排模式的显示 例如,用户在14:00预订了2013-09-23的任务,我想在模式中显示一条消息 我知道我们可以用JavaScript设置时间间隔: setInterval(function () { showModal(); }, 10 * 1000); 但是如何像示例中那样指定一个小时呢?在s

我一直在开发一个web应用程序,我想知道是否有一种方法可以在特定的日期/时间显示模型

在应用程序中,用户可以预订任务或提醒,因此,当我从数据库中读取特定任务时,我希望在用户指定的日期/时间安排模式的显示

例如,用户在14:00预订了2013-09-23的任务,我想在模式中显示一条消息

我知道我们可以用JavaScript设置时间间隔:

setInterval(function () { 
    showModal(); 
}, 10 * 1000);

但是如何像示例中那样指定一个小时呢?

setInterval
调用中,
10*1000
表示10乘以1000毫秒,或者说10秒。如果你想要一个小时,那只是一个更大的数字<代码>1000*60*60是一小时

但是,
setInterval
用于多次运行函数。除非您希望每小时调用一次,否则您可能会转而寻找
setTimeout
setTimeout
计划在时间段过期后运行一次函数。

您可以这样尝试

  • 使您的
    setInterval()
    运行一段时间
  • 通过将日期转换为
    毫秒来比较日期。和一个比较条件


  • 谢谢大家的回答,他们帮我想出了一个解决方案:

    function setNotification(notificationDate, notificationCallback){
         var currentDate = new Date();
         var date = new Date(notificationDate);
         var interval = date - currentDate; 
    
        if(interval > 0)
            window.setTimeout(function(){ notificationCallback(item)}, interval); //notificationCallback = showModal()
    
    }
    
    function setNotification(notificationDate, notificationCallback){
         var currentDate = new Date();
         var date = new Date(notificationDate);
         var interval = date - currentDate; 
    
        if(interval > 0)
            window.setTimeout(function(){ notificationCallback(item)}, interval); //notificationCallback = showModal()
    
    }