CalcOpenly
English

Day of the week calculator

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.

Drafted with AI writing toolsUpdated Checked examples: 5

= 2026-11-12
Any year; dates before 15 October 1582 use the Gregorian rules extended backwards.
Try
Day of the week
Thursday
Day of the week: Thursday
ISO weekday number (Monday = 1)
4
Zeller's h (Saturday = 0)
5
Days from today
0

Thu 12 Nov 2026 is a Thursday, today.

November 2026 (weekends shaded)

MoTuWeThFrSaSu123456789101112131415161718192021222324252627282930
How it's calculated S
  1. Set up Zeller's variables

    q=12,K=Y mod 100=26,J=⌊Y/100⌋=20q = 12,\quad K = Y \bmod 100 = 26,\quad J = \lfloor Y/100 \rfloor = 20

    m = 11, Y = 2026.

  2. Evaluate the congruence

    h=(12+⌊13×12/5⌋+26+⌊26/4⌋+⌊20/4⌋+5×20) mod 7=(12+31+26+6+5+100) mod 7=180 mod 7=5h = (12 + \lfloor 13 \times 12 / 5 \rfloor + 26 + \lfloor 26/4 \rfloor + \lfloor 20/4 \rfloor + 5 \times 20) \bmod 7 = (12 + 31 + 26 + 6 + 5 + 100) \bmod 7 = 180 \bmod 7 = 5

    Floors round toward minus infinity, which keeps the formula valid for years before 1 AD.

  3. Read the weekday

    h = 5 means Thursday (0 = Saturday, 1 = Sunday, …, 6 = Friday).

  4. Check with the day count

    N=20769,(N+3) mod 7+1=4⇒4N = 20769,\quad (N + 3) \bmod 7 + 1 = 4 \Rightarrow 4

    1 January 1970 (N = 0) was a Thursday, ISO weekday 4.

About the day of the week calculator

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.

How to find the day of the week for any 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 congruence worked by hand

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.

Weekday reference chart

DateWeekdayISO weekday
0001-01-01Monday1
1582-10-15Friday5
1900-02-28Wednesday3
1900-03-01Thursday4
1969-07-20Sunday7
1970-01-01Thursday4
2000-01-01Saturday6
2000-02-29Tuesday2
2000-03-01Wednesday3
2024-02-29Thursday4
2026-01-15Thursday4
2026-10-03Saturday6
2026-10-04Sunday7
2026-12-25Friday5
2100-02-28Sunday7
2100-03-01Monday1

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.

Weekday numbers in ISO 8601, Excel, Python and JavaScript

Software numbers the same weekday in different ways. For Friday 25 December 2026:

  • ISO 8601 and Python's isoweekday() give 5, counting Monday = 1 to Sunday = 7.
  • Python's weekday() gives 4, counting from Monday = 0.
  • JavaScript's getDay() gives 5, counting from Sunday = 0.
  • Excel's WEEKDAY(date) gives 6, counting from Sunday = 1; WEEKDAY(date, 2) returns the ISO number.
  • Zeller's h is 6, counting from Saturday = 0.

Old dates: check the calendar first

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.

Mistakes that give the wrong weekday

  • Reading a numeric date the wrong way round. Dates written with slashes or dots are read day first, so 03/04/2026 is 3 April 2026. Write 2026-03-04 for 4 March.
  • Using a date that does not exist. 29 February occurs only in leap years, so there was no 29 February 1900 and there is none in 2026. The leap year checker shows which years have one.
  • Taking a weekday as a working day. Public holidays fall on weekdays too. To count working days, use the business days calculator.

Ways to enter a date

  • Year-month-day, such as 2026-12-25, or a written month: 25 December 2026, December 25, 2026 or Dec 25 for the current year.
  • Relative dates from your device's date: today, tomorrow, yesterday, today+7, today-1, in 3 weeks or 10 days ago.
  • Any year, however early: 1 January of year 1 is a Monday under the extended Gregorian rules.

For the week number of a date, use the week number calculator. To count the days between two dates, use the date difference calculator.

Worked examples

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)

Leap day 2000

Date
2000-02-29
Day of the week
Tuesday
Zeller's h (Saturday = 0)
3

Checked against: Zeller evaluated by hand with m = 14, Y = 1999

First day of the Gregorian calendar

Date
1582-10-15
Day of the week
Friday
ISO weekday number (Monday = 1)
5

Checked against: Inter gravissimas: Thursday 4 October 1582 (Julian) was followed by Friday 15 October 1582

Year 1, proleptic

Date
0001-01-01
Day of the week
Monday
Zeller's h (Saturday = 0)
2

Checked against: Independent calculation

Questions

How can I work out the day of the week in my head?

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.

Does a date fall on the same weekday every year?

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.

Is Monday or Sunday the first day of the week?

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.

What happened to the weekdays when the calendar changed in 1582?

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.

About this calculator

h=(q+⌊13(m+1)5⌋+K+⌊K4⌋+⌊J4⌋+5J) mod 7h = \left(q + \left\lfloor \frac{13(m+1)}{5} \right\rfloor + K + \left\lfloor \frac{K}{4} \right\rfloor + \left\lfloor \frac{J}{4} \right\rfloor + 5J\right) \bmod 7

Sources

  1. Chr. Zeller, “Kalender-Formeln”, Acta Mathematica 9 (1887), 131–136
  2. Howard Hinnant — weekday_from_days

Checked against references

This calculator includes 5 worked examples with independently sourced answers. They run in the test suite, and you can run them here too.

Put this calculator on your site

Paste this where you want the calculator to appear. It is free to use, it stays in step with corrections made here, and the credit line below it links back so your readers can find the full version.

Height
Preview the embed

Keep the credit line. It is the only condition, and it is what keeps these calculators free.