我一直在开发一个网络应用程序,我想知道是否有办法在特定日期/时间显示模型。
在应用程序中,用户可以预订任务或提醒,因此当我从数据库中读取特定任务时,我想安排在用户指定的日期/时间显示模式。
例如,用户在 14:00 预订了 2013-09-23 的任务,我想在模式中显示一条消息。
我知道我们可以使用 JavaScript 设置时间间隔:
setInterval(function () {
showModal();
}, 10 * 1000);
但是如何在示例中指定一个小时?
我一直在开发一个网络应用程序,我想知道是否有办法在特定日期/时间显示模型。
在应用程序中,用户可以预订任务或提醒,因此当我从数据库中读取特定任务时,我想安排在用户指定的日期/时间显示模式。
例如,用户在 14:00 预订了 2013-09-23 的任务,我想在模式中显示一条消息。
我知道我们可以使用 JavaScript 设置时间间隔:
setInterval(function () {
showModal();
}, 10 * 1000);
但是如何在示例中指定一个小时?
在那个setInterval调用中,10 * 1000意味着 10 乘以 1000 毫秒,或者换句话说 10 秒。如果你想要一个小时,那只是一个更大的数字。1000 * 60 * 60是一个小时。
但是,setInterval用于多次运行一个函数。除非您希望每小时调用一次,否则您可能正在寻找它setTimeout。setTimeout安排一个函数在时间段到期后运行一次。
你可以这样试试。
setInterval()跑一段持续的时间。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);
谢谢大家的回答,他们帮助我想出了一个解决方案:
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()
}