YourWorldTime

Калькулятор длительности

Задайте начало и конец — при необходимости каждый в своём часовом поясе — и получите время, которое прошло на самом деле, включая сутки длиной 23 или 25 часов.

Начало
Конец

Прошло

Дни
Часы
Минуты
Секунды

Почему календарная арифметика — не часовая

«Сутками позже» и «через 24 часа» — разные указания, и дважды в год они дают разные ответы. Ночная задача, назначенная на 02:30 по местному времени, одним осенним утром выполнится дважды, а одним весенним — ни разу. Если же она назначена каждые 86 400 секунд, она вместо этого уползёт на час от 02:30.

Ни одно из поведений не является ошибкой: они отвечают на разные вопросы. Беда начинается, когда код делает одно, а человек ждал другого. Этот калькулятор всегда отвечает на часовой вопрос — сколько времени прошло на самом деле — и показывает календарные сутки рядом.

Частые вопросы

Почему сутки иногда выходят по 23 или 25 часов?
Потому что они такими и были. В день перевода стрелок вперёд от полуночи до полуночи проходит 23 часа, в день перевода назад — 25. Этот калькулятор приводит обе границы к абсолютным моментам, прежде чем вычитать, поэтому сообщает время, которое действительно прошло, а не то, которое подсказывает календарь.
Могут ли границы быть в разных часовых поясах?
Да, ради этого он и нужен. Рейс, вылетевший из Токио в 17:00 и севший в Сан-Франциско в 09:30 того же утра, длился девять с половиной часов, а не минус семь с половиной. Задайте каждой границе свой пояс, и арифметика сойдётся.
Учитываются ли високосные секунды?
Нет. Браузеры их не раскрывают: часы JavaScript полностью игнорируют високосные секунды, поэтому интервал, пересекающий одну из них, окажется короче на секунду. За всю историю UTC это 27 секунд суммарно — важно для спутниковой навигации и ни для чего, что вы, скорее всего, здесь измеряете.
А если конец раньше начала?
Об этом будет сказано, а величина всё равно показана. Отрицательная длительность обычно означает опечатку, и молча перевернуть знак значило бы её спрятать.