Detta kan vara den sämsta idén som finns, men kanske kan du helt enkelt beräkna tiden mellan nu och slutdatumet en gång, hitta antalet intervaller du vill ha och sedan ringa setInterval
och minska värdet manuellt.
AKA:
var initialTime = new Date();
var endTime = /* Your Time when the thing is over */
var intervalId = setInterval(function()
{
// Every second, decrement the counter by 1 second.
// if counter is done, show end and then
clearInterval(intervalId);
}, 1000);