0

我一直在开发一个网络应用程序,我想知道是否有办法在特定日期/时间显示模型。

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

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

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

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

但是如何在示例中指定一个小时?

4

3 回答 3

0

在那个setInterval调用中,10 * 1000意味着 10 乘以 1000 毫秒,或者换句话说 10 秒。如果你想要一个小时,那只是一个更大的数字。1000 * 60 * 60是一个小时。

但是,setInterval用于多次运行一个函数。除非您希望每小时调用一次,否则您可能正在寻找它setTimeoutsetTimeout安排一个函数在时间段到期后运行一次。

于 2013-09-23T15:59:31.507 回答
0

你可以这样试试。

  1. 让你setInterval()跑一段持续的时间。
  2. 通过将日期转换为 来比较日期milliseconds。和比较条件。

setInterval(function () { 
 var date = new Date("2013-09-23 14:00");
 var schDateSecs = Date.parse(date);
 var currentDate = new Date();
 var schCurrentSecs = Date.parse(currentDate);
 if (schDateSecs == schCurrentSecs) {
    //execute
    showModal(); 
 }
}, 10 * 1000);
于 2013-09-23T16:05:20.760 回答
0

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

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()

}
于 2013-09-23T16:23:06.750 回答