var hours = 12; var minutes = 30; function start() { //... } var date = new Date; date.setHours(hours); date.setMinutes(minutes); var intervalId = setInterval(function() { if(date <= Date.now()) { clearInterval(intervalId); start(); } }, 1000 * 60);