Вообще, лучше используйте спец. библиотеки для работы со временем, а именно
Moment.js. А то у вас почти весь код, это попытки сделать красиво, и совершенно не понятно где там косяк.
По этому, когда работаете с датами, в начале вычисляйте значения, а уж потом превращайте все это дело в красивые надписи на русском.