Существует много ответов о том, как получить разницу между двумя датами в днях , например this .
Ваш код кажется чрезмерно запутанным.Предполагая, что введенные даты имеют формат, например 2019-05-10, и вы используете встроенный синтаксический анализатор, вы можете работать в формате UTC и избежать проблем с переходом на летнее время.
Просто проверьте разницу в днях,если это 0 или меньше, верните ноль.В противном случае верните разницу.Например,
var dates = ['2019-01-01','2019-05-10','2019-05-20'];
var counters = dates.map(date => {
let diffDays = (new Date(date) - new Date().setUTCHours(0,0,0,0))/8.64e7;
return diffDays > 0? diffDays : 0;
});
console.log(counters)