Das mag die schlechteste Idee sein, die es gibt, aber vielleicht können Sie einfach die Zeit zwischen jetzt und dem Enddatum einmal berechnen, die Anzahl der gewünschten Intervalle finden und dann setInterval
aufrufen und den Wert manuell verringern.
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);