Как работает инструмент
Выберите праздник или время года из списка, и инструмент сразу покажет живой обратный отсчёт до ближайшего следующего наступления этого события. Отсчёт обновляется в реальном времени и считается по локальному времени браузера.
Для каждого preset используется фиксированная дата в году и целевой момент 00:00. Если событие в текущем году уже началось, цель переносится на следующий год:
$$T_{\text{target}}=\operatorname{next}(M,D,00{:}00)$$
Оставшееся время считается как разница между целью и текущим локальным временем:
$$\Delta=T_{\text{target}}-T_{\text{now}}$$
Разбивка результата строится из общего числа секунд:
$$d=\left\lfloor\frac{\Delta_s}{86400}\right\rfloor,\quad h=\left\lfloor\frac{\Delta_s\bmod86400}{3600}\right\rfloor,\quad m=\left\lfloor\frac{\Delta_s\bmod3600}{60}\right\rfloor,\quad s=\Delta_s\bmod60$$
Какие события доступны
- Новый год, Рождество Христово и Старый Новый год;
- Татьянин день, День святого Валентина и День защитника Отечества;
- весна, 8 Марта, День космонавтики, 1 Мая и День Победы;
- лето, День защиты детей, День России и День семьи, любви и верности;
- осень, День знаний, День учителя и Хэллоуин;
- День народного единства, зима, День Конституции и Католическое Рождество.
Когда особенно полезно
- нужно быстро посмотреть, сколько осталось до ближайшего сезонного рубежа;
- нужен чистый countdown до повторяющегося праздника без ручного ввода даты;
- хочется сравнить несколько календарных событий в одном месте.
Ограничения модели
Страница работает с готовыми fixed-date событиями и началами сезонов. Произвольная дата, ручное время внутри даты, региональные государственные календари и плавающие праздники находятся в соседних моделях.