Как посчитать, сколько дней между датами: вручную и онлайн
Быстрый ответ: онлайн и вручную
Самый надёжный способ — использовать специализированный калькулятор дней, который сам учтёт високосные годы, разную длину месяцев и часовые пояса. Если нужно вручную, вычитайте даты последовательно: от годовой разницы (умножить на 365) с поправкой на високосные, затем — остаток в днях. Подробные формулы ниже.
Формула расчёта вручную (с учётом високосных)
Чтобы посчитать количество дней между датами D1 и D2 (D2 позже D1), используйте формулу:
Где високосные — количество годов (включая D1 и D2, если они високосные и находятся в диапазоне), делящихся на 4, но не на 100, за исключением кратных 400. Например, между 01.01.2020 и 01.01.2023: 3 года = 1095 дней + 1 високосный (2020) = 1096 дней.
Для точности внутри года считайте порядковые номера дней в году (1 января = 1, 31 декабря = 365 или 366) и вычитайте.
Пошаговый пример с цифрами
Посчитаем дни между 15 марта 2021 г. и 10 сентября 2023 г.
- Полные годы между датами: 2021 (с 15 марта) до 2023 (до 10 сент.) — 2 полных года (2021-2022).
- Считаем день от 15 марта 2021 до 31 декабря 2021: 1 января 2021 — это 292 день? Уточним: 2021 невисокосный, 365 дней. Порядковый номер 15 марта = 74, остаток от года: 365-74+1 = 292 дня.
- 2022 полный (невисокосный) = 365 дней.
- С 1 января 2023 до 10 сентября: порядковый номер 10 сентября 2023 = 253 (2023 невисокосный).
- Складываем: 292 + 365 + 253 = 910 дней.
- Проверка: високосные в диапазоне? Между 2021 и 2023 високосных нет (2020 и 2024), ответ верный. Поправка на високосные не нужна.
Если бы даты были 15 марта 2020 и 10 сентября 2023, добавился бы високосный 2020 год: 366 - 75 +1 = 292? Нет, 2020 високосный, порядковый номер 15 марта = 75, остаток = 366-75+1=292. Затем 2021 (365), 2022 (365), 2023 до 10 сентября = 253. Сумма: 292+365+365+253 = 1275 дней.
Таблица типовых случаев (с учётом разных комбинаций)
| Начальная дата | Конечная дата | Разница (дни) | Примечание |
|---|---|---|---|
| 01.01.2023 | 31.12.2023 | 364 | обычный год |
| 01.01.2020 | 31.12.2020 | 365 | високосный год |
| 01.03.2023 | 28.02.2024 | 365 | ровно год, включает 29.02? нет |
| 01.03.2023 | 01.03.2024 | 366 | захвачен 29.02.2024 |
| 29.02.2020 | 28.02.2021 | 366 | високосный день + год |
| 01.01.2000 | 01.01.2001 | 366 | 2000 делится на 400 |
| 01.01.1900 | 01.01.1901 | 365 | 1900 не високосный |
🧠 Проверьте своё понимание расчёта дней
1. Сколько дней между 1 января 2020 и 1 января 2021?
2. Какое правило високосности верно?
3. Сколько дней между 29 февраля 2020 и 28 февраля 2021?
4. Если начальная дата — 01.01.1900, конечная — 01.01.1901, сколько дней?
Крайние случаи и ловушки
Всегда проверяйте, включена ли начальная дата в подсчёт. В задачах «через N дней» начальный день не считается, а разница «между датами» — считается.
- Часовые пояса и переход на летнее время: если даты включают время, разница в часах может отличаться на ±1 из-за перехода. Для чистых дат это неважно.
- Високосные века: 1700, 1800, 1900 не високосные, 2000 — високосный. Правило делимости на 400.
- Добавление месяцев к дате (например, 31 января + 1 месяц = 28 февраля): это не вопрос количества дней, а календарная арифметика.
- Даты до нашей эры и переход на григорианский календарь: для исторических расчётов нужны специальные методы (пролептический григорианский).
Частые ошибки
- Забывают про високосные годы. Между 01.01.2019 и 01.01.2023 — 1461 день (3×365 + 1 за 2020), а не 1460.
- Считают год как 365 дней, игнорируя високосные.
- Путают режим «включительно» и «исключительно». Если в договоре «через 30 дней», то отсчёт с завтрашнего дня.
- Не учитывают, что в феврале 28 или 29 дней. Метод «30 дней в месяце» годится только для финансовых упрощений.
- Используют Excel без учёта високосных. Функция DATEDIF в Excel считает правильно, но ручной ввод может дать сбой.
Как использовать онлайн-калькуляторы быстрее
Лучший способ — готовый калькулятор дней. Достаточно выбрать даты — и результат за секунду. Если нужно посчитать дату через N дней, тоже есть инструмент. Для других задач используйте: Создать QR-код в SVG, Создать favicon 16x16, Создать QR-код для VK, Создать favicon 32x32.
🧮 Посчитайте сами — инструменты по теме
Частые вопросы
Как посчитать количество дней между датами в Excel?
Используйте функцию DATEDIF. Пример: =DATEDIF(A1;B1;"D"), где A1 — начальная дата, B1 — конечная. Формула учитывает високосные. Также можно вычесть ячейки: =B1-A1, но тогда начальный день не включается, если не добавить +1.
Сколько дней в году? 365 или 366?
В обычном году 365 дней, в високосном — 366. Високосный год наступает каждый 4-й год, за исключением столетий, не кратных 400 (например, 1900 не високосный, 2000 високосный).
Как посчитать разницу в днях с учётом времени (часов, минут)?
Переведите дату и время в общее количество секунд с некоторой эпохи (например, unix timestamp), затем разницу поделите на 86400. Обратите внимание на часовой пояс и переход на летнее время.
Почему 2020 год был високосным?
2020 делится на 4, не делится на 100, поэтому по правилам григорианского календаря является високосным. В нём 366 дней, дополнительный день — 29 февраля.
Как узнать, сколько дней прошло с 1 января 2000 года?
Посчитайте количество полных лет (с учётом високосных) плюс дни в текущем году. Например, на 1 января 2024 прошло 24 года, из них високосных: 2000,2004,2008,2012,2016,2020,2024* (если считать по 1 января, 2024 только начался, но сам год високосный). 24*365 + 7 = 8767 дней (без учёта невисокосных 1900 и т.п.).
Есть ли простой онлайн-калькулятор дней между датами?
Да, на сайте доступен удобный инструмент «Калькулятор дней» по адресу /poleznye-onlayn-instrumenty-i-utility/kalkulyator-dney. Введите две даты, он сразу покажет разницу с учётом всех нюансов.
Как вычислить дату через N дней от заданной?
Прибавьте N дней к начальной дате. Вручную учитывайте переход через конец месяца и високосные. Проще использовать онлайн-калькулятор «прибавить дни к дате».
Почему в феврале 28 или 29 дней?
Февраль — последний месяц римского календаря, ему досталось меньше дней. Високосный день добавляется именно в февраль, делая его 29-дневным.