Простейший скрипт отсчёта до нового года

Искал не сложный скрипт для вывода количества дней до нового года.  Находил с типичной ошибкой в подсчёте, т.к. не учитывался високосный год. В итоге пришлось один из найденных скриптов доделывать под себя.

<!-- До Нового Года осталось-->
<div style="text-align: center; font-size:small;"><script>
function daysLeftNewYear() {
 today = new Date()
 BigDay = new Date("January 1, 2021")
 msPerDay = 24*60*60*1000;
 var timeLeft = (BigDay.getTime() - today.getTime());
 var e_daysLeft = timeLeft / msPerDay;
 var daysLeft = Math.floor(e_daysLeft);
 var yearsLeft = 0;
 if (daysLeft > 365) {
   yearsLeft = Math.floor(daysLeft / 365);
   daysLeft = daysLeft % 365;
}
var e_hrsLeft = (e_daysLeft - daysLeft) * 24;

dayname = ""
ds = ""+daysLeft
//Вырезаем последнею цифру
dd=parseInt(ds.substr(ds.length-1))
//Склоняем слово ДЕНЬ
if(daysLeft>4&&daysLeft<21)dayname=" дней"
else
if(dd==1)dayname=" день"
else
if(dd==2||dd==3||dd==4)dayname=" дня"
else dayname=" дней"
//Выводим надпись в документ
if(daysLeft<0) {document.write("С новым годом!!!")}
else {
if(daysLeft==0) {document.write("Завтра новый год!")} else {
document.write("До нового года осталось "+daysLeft+dayname+"!")}
}
}
</script>
<script>daysLeftNewYear()</script></div>
<!-- До Нового Года осталось-->

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.