Сервисы

Калькулятор: когда я закончу школу

Обратный отсчёт до конца учебного года

Укажите последний учебный день и время окончания уроков — калькулятор покажет, сколько осталось до конца учёбы.

Последний день учёбы

Время окончания учебного дня


Логика вычислений

Калькулятор показывает, сколько времени осталось до конца учебного года. По заданным последнему учебному дню и времени окончания уроков формируется целевой момент времени, из которого вычитается текущий момент — получается остаток до окончания учёбы. Этот остаток выражается одновременно в разных единицах: в полных днях, часах и минутах с разбивкой и отдельно в общем количестве часов и минут.

Сначала находится остаток времени до целевого момента:

Δ = T_кон − T_тек

где:

  • Δ — остаток времени до конца учёбы, мс;
  • T_кон — целевой момент: последний учебный день и время окончания уроков;
  • T_тек — текущий момент времени.

Если целевой момент уже наступил (остаток нулевой или отрицательный), учёба считается оконченной и остаток принимается равным нулю. Дальше остаток переводится в привычные единицы.

Общее количество часов и минут — это весь остаток, выраженный целиком в одной единице:

Σ_ч = Δ / 3 600 000    Σ_м = Δ / 60 000

где:

  • Σ_ч — всего часов до конца учёбы, ч;
  • Σ_м — всего минут до конца учёбы, мин;
  • 3 600 000 и 60 000 — число миллисекунд в одном часе и в одной минуте.

Разбивка остатка на дни, часы и минуты выполняется последовательным выделением полных единиц и остатка от деления:

D = ⌊ Δ / 86 400 000 ⌋    H = ⌊ (Δ mod 86 400 000) / 3 600 000 ⌋    M = ⌊ (Δ mod 3 600 000) / 60 000 ⌋

где:

  • D — полных дней до конца учёбы, дн;
  • H — оставшихся часов сверх полных дней (0–23), ч;
  • M — оставшихся минут сверх полных часов (0–59), мин;
  • 86 400 000 — число миллисекунд в одних сутках;
  • ⌊ ⌋ — выделение целой части (остаются только полные единицы);
  • mod — остаток от деления, то есть время, не вошедшее в более крупную единицу.

Примеры расчётов

Остаток Δ, мс Дней D, дн Часов H, ч Минут M, мин Всего часов Σ_ч, ч Всего минут Σ_м, мин Комментарий
8 640 000 000 ⌊8 640 000 000 / 86 400 000⌋ = 100 0 0 2 400 144 000 Ровно 100 суток — круглый пример
3 917 700 000 45 8 15 1 088,25 65 295 45 дн 8 ч 15 мин — типичный остаток
2 612 520 000 30 5 42 725,7 43 542 30 дн 5 ч 42 мин — произвольное время
649 800 000 7 12 30 180,5 10 830 7 дн 12 ч 30 мин — последняя неделя
86 400 000 1 0 0 24 1 440 Ровно сутки до конца учёбы
86 340 000 0 23 59 23,98 1 439 Граница: меньше суток, дней уже 0
0 0 0 0 0 0 Учёба окончена — момент уже наступил
Рекомендуем