Apollo 11 Moon landing
- Date
- 1969-07-20
- Day of the week
- Sunday
- ISO weekday number (Monday = 1)
- 7
- Zeller's h (Saturday = 0)
- 1
Checked against: NASA mission records (Sunday 20 July 1969)
Day of the week for any date, past or future: the weekday in the Gregorian calendar, worked through step by step with Zeller's congruence.
By AdminDrafted with AI writing toolsUpdated Checked examples: 5
Thu 12 Nov 2026 is a Thursday, today.
m = 11, Y = 2026.
Floors round toward minus infinity, which keeps the formula valid for years before 1 AD.
h = 5 means Thursday (0 = Saturday, 1 = Sunday, …, 6 = Friday).
1 January 1970 (N = 0) was a Thursday, ISO weekday 4.
Zeller's congruence, published in 1887, turns a date into a weekday with whole-number arithmetic. January and February count as months 13 and 14 of the previous year; the year is split into its century J and year of the century K; and q + ⌊13(m + 1)/5⌋ + K + ⌊K/4⌋ + ⌊J/4⌋ + 5J is divided by 7. The remainder h names the weekday, from 0 for Saturday to 6 for Friday. The result is cross-checked against a count of days from 1 January 1970, a Thursday.
People use it to find the weekday they were born on, the day a historical event fell on, or where a future deadline lands. Apollo 11 landed on the Moon on 20 July 1969, and the congruence gives h = 1: a Sunday.
Dates before 15 October 1582 follow the Gregorian rules extended backwards. Records from those years usually use the Julian calendar, which gives a different weekday for the same written date.
Count the days from a date whose weekday you know, divide by 7 and move on by the remainder. 1 January 1970 was a Thursday; 25 December 2026 is 20,812 days later, which leaves a remainder of 1, so Christmas 2026 falls on a Friday.
The method works for any date in the Gregorian calendar. Which day it is today depends on your time zone: at 20:00 UTC on Monday 5 October 2026 it is still Monday evening in London but already 01:30 on Tuesday in India.
Zeller's formula reaches the same answer without counting days. Treat January and February as months 13 and 14 of the previous year, and split that year into its century J and last two digits K. With q the day of the month and m the month:
h = (q + ⌊13(m + 1) ÷ 5⌋ + K + ⌊K ÷ 4⌋ + ⌊J ÷ 4⌋ + 5J) mod 7
The remainder h names the weekday: 0 is Saturday, 1 Sunday, 2 Monday and so on up to 6 for Friday.
For 15 January 2026, q = 15, m = 13 and the year becomes 2025, so K = 25 and J = 20. The sum is 15 + 36 + 25 + 6 + 5 + 100 = 187, and 187 mod 7 = 5: a Thursday.
A day count gives a check. 15 January 2026 is 20,468 days after Thursday 1 January 1970, exactly 2,924 weeks, so it is also a Thursday. Howard Hinnant's civil-date algorithms compute weekdays from such counts.
| Date | Weekday | ISO weekday |
|---|---|---|
| 0001-01-01 | Monday | 1 |
| 1582-10-15 | Friday | 5 |
| 1900-02-28 | Wednesday | 3 |
| 1900-03-01 | Thursday | 4 |
| 1969-07-20 | Sunday | 7 |
| 1970-01-01 | Thursday | 4 |
| 2000-01-01 | Saturday | 6 |
| 2000-02-29 | Tuesday | 2 |
| 2000-03-01 | Wednesday | 3 |
| 2024-02-29 | Thursday | 4 |
| 2026-01-15 | Thursday | 4 |
| 2026-10-03 | Saturday | 6 |
| 2026-10-04 | Sunday | 7 |
| 2026-12-25 | Friday | 5 |
| 2100-02-28 | Sunday | 7 |
| 2100-03-01 | Monday | 1 |
Each date moves one weekday on from the day before, and a leap day adds a step. In 2000, Tuesday 29 February sat between 28 February and Wednesday 1 March. 1900 and 2100 are not leap years, so 28 February runs straight into 1 March.
Software numbers the same weekday in different ways. For Friday 25 December 2026:
isoweekday() give 5, counting Monday = 1 to Sunday = 7.weekday() gives 4, counting from Monday = 0.getDay() gives 5, counting from Sunday = 0.WEEKDAY(date) gives 6, counting from Sunday = 1; WEEKDAY(date, 2) returns the ISO number.Weekdays here follow the Gregorian calendar extended backwards. Records from before it was adopted (1582 in Italy, Spain and Portugal, 1752 in Britain and its colonies) usually give Julian dates. The same written date is a different day in each calendar.
In the extended Gregorian calendar 4 October 1582 is a Monday, but Julian 4 October 1582, the day before Gregorian Friday 15 October, was a Thursday. Convert Julian dates with the calendar converter first; Julian 4 October 1582 is Gregorian 14 October.
For the week number of a date, use the week number calculator. To count the days between two dates, use the date difference calculator.
Checked against: NASA mission records (Sunday 20 July 1969)
Checked against: Zeller evaluated by hand with m = 14, Y = 1999
Checked against: Inter gravissimas: Thursday 4 October 1582 (Julian) was followed by Friday 15 October 1582
Checked against: Independent calculation
Use John Conway's doomsday rule. In any year, 4 April, 6 June, 8 August, 10 October, 12 December, the last day of February, 9 May, 5 September, 11 July and 7 November share one weekday, the year's doomsday. In 2026 it is Saturday, so 12 December 2026 is a Saturday and 25 December, 13 days later, is a Friday.
No. A common year is 52 weeks and 1 day, so a date moves forward one weekday a year, or two when a 29 February comes between. A whole year's calendar usually repeats after 6, 11 or 28 years; 2026's is reused in 2037. The Gregorian calendar repeats exactly every 400 years, which are 146,097 days or 20,871 weeks.
It depends on the convention. ISO 8601 makes Monday day 1 and Sunday day 7, which is how the ISO weekday number here is counted. US calendars start on Sunday, and Excel's WEEKDAY function returns 1 for Sunday unless told otherwise. Zeller's own numbering starts at Saturday = 0, which is why the calculator shows it separately.
Nothing: the dates jumped, the weekdays did not. In Catholic countries Thursday 4 October 1582 in the Julian calendar was followed by Friday 15 October 1582 in the Gregorian calendar. Britain and its colonies changed in 1752, when Wednesday 2 September was followed by Thursday 14 September. For earlier dates, check which calendar a source uses before trusting a weekday.
This calculator includes 5 worked examples with independently sourced answers. They run in the test suite, and you can run them here too.