Leap year checker

Leap year checker: whether a year has 366 days under the Gregorian rule, which test decides it, and the previous and next leap years.

Обновлено Проверенные примеры: 5

Попробовать
Результат
Common year
Результат: Common year
Rule that decides it
Not divisible by 4
Days in the year
365
Days in February
28
Previous leap year
2024
Next leap year
2028

2026 is a common year (not divisible by 4), so February has 28 days. The previous leap year is 2024 and the next is 2028; the Gregorian rule gives 97 leap years every 400 years.

Leap years 2017–2040 shaded, 2026 outlined

201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040
Как выполняется расчёт S
  1. Divisible by 4?

    2026 mod 4=22026 \bmod 4 = 2

    No year entered, so this checks the current year, 2026.

    No — a common year.

  2. Divisible by 100?

    2026 mod 100=262026 \bmod 100 = 26

    No — the century rule doesn't apply.

  3. Divisible by 400?

    2026 mod 400=262026 \bmod 400 = 26

    No.

О калькуляторе: Leap year checker

Under the Gregorian rule a year is a leap year if it is divisible by 4, except century years, which are leap years only if they are also divisible by 400. The checker applies the three tests in order, reports the one that decides, and gives the days in the year and in February and the nearest leap years either side.

Century years are where the rule catches people out. 1900 was a common year because it is divisible by 100 but not by 400, while 2000 was a leap year because it is divisible by 400. The next skipped year is 2100, so the leap year after 2096 is 2104, eight years later.

The rule gives 97 leap years in every 400, an average year of 365.2425 days, about 27 seconds longer than the mean tropical year of 365.24219 days. Years before 1582 are checked with the Gregorian rule extended backwards.

Примеры с решением

2024

Год
2024
Результат
Високосный год
Rule that decides it
Divisible by 4 but not by 100
Days in the year
366
Previous leap year
2020
Next leap year
2028

Источник проверки: Python calendar.isleap(2024) = True

1900, a century year

Год
1900
Результат
Common year
Rule that decides it
Divisible by 100 but not by 400
Days in February
28
Next leap year
1904
Previous leap year
1896

Источник проверки: Python calendar.isleap(1900) = False (Gregorian century rule)

2000, divisible by 400

Год
2000
Результат
Високосный год
Rule that decides it
Divisible by 400
Days in February
29

Источник проверки: Python calendar.isleap(2000) = True

Leap years skip 2100

Год
2096
Результат
Високосный год
Next leap year
2104
Previous leap year
2092

Источник проверки: Python: first x > 2096 with calendar.isleap(x) is 2104

Вопросы

Why is 2100 not a leap year?

Because century years must be divisible by 400 to be leap years, and 2100 ÷ 400 = 5.25. February 2100 will have 28 days, and there will be no leap year between 2096 and 2104. The same rule made 1700, 1800 and 1900 common years, while 1600 and 2000 were leap years. The next century leap year is 2400.

Why do we have leap years?

The year of the seasons, the tropical year, is about 365.2422 days, so a 365-day calendar would slip by almost a day every 4 years and about 24 days a century. The Julian calendar's leap day every fourth year overcorrected by about 11 minutes a year; by 1582 the March equinox had drifted 10 days, which the Gregorian reform removed and the century rule prevents from recurring.

When was the Gregorian calendar adopted?

Pope Gregory XIII decreed it in the bull Inter gravissimas of 24 February 1582. Italy, Spain, Portugal and Poland switched that October, when 4 October was followed by 15 October. Britain and its colonies changed in September 1752, dropping 11 days; Russia in February 1918, dropping 13; and Greece in 1923, also dropping 13.

When is the next leap year?

2028. The leap years after it are 2032 and 2036, and 29 February falls on a Tuesday in 2028, a Sunday in 2032 and a Friday in 2036. Every year divisible by 4 up to 2096 is a leap year, because the first century year in that run that fails the 400 test is 2100.

Насколько точен «Leap year checker»?

Точность зависит от введённых данных и допущений метода. Десятичная арифметика использует 50 значащих цифр, но оценки, численные методы и исходные данные могут быть менее точными; округление на экране не устраняет эти ограничения. Решённые примеры, проверенные по независимым источникам: 5. Например, «2024» проверяется по источнику Python calendar.isleap(2024) = True.

Откуда взята методика?

Pope Gregory XIII, Inter gravissimas (1582) — the Gregorian leap-year rule; US Naval Observatory — Leap years.

Об этом калькуляторе

leap  ⟺  (y mod 4=0∧y mod 100≠0)∨y mod 400=0\text{leap} \iff (y \bmod 4 = 0 \land y \bmod 100 \ne 0) \lor y \bmod 400 = 0

Источники

  1. Pope Gregory XIII, Inter gravissimas (1582) — the Gregorian leap-year rule
  2. US Naval Observatory — Leap years

Проверено по источникам

В калькулятор включены решённые примеры с ответами из независимых источников. Их количество: 5. Они входят в набор тестов, и вы также можете запустить их здесь.

Похожие калькуляторы