Как получить разницу между датами в javascript?
Используйте momentjs — там все есть.
Метод объекта Date setHours() возвращает число: миллисекунды. Поэтому вместо current = current.setHours(21) сделайте просто current.setHours(21)