# 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.

Versi interaktif: https://www.calcopenly.com/id/datetime/day-of-the-week-calculator
Topik: Kalkulator tanggal dan waktu

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.

## Masukan

- **Date**: Any year; dates before 15 October 1582 use the Gregorian rules extended backwards.

## Hasil

- Hari dalam seminggu — hasil utama
- ISO weekday number (Monday = 1)
- Zeller's h (Saturday = 0)
- Days from today

## Rumus

$$
h = \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
$$

## Contoh penyelesaian

### Apollo 11 Moon landing

- Date: 1969-07-20
- **Hari dalam seminggu: Sunday**
- **ISO weekday number (Monday = 1): 7**
- **Zeller's h (Saturday = 0): 1**
- Sumber pemeriksaan: NASA mission records (Sunday 20 July 1969); Python date(1969,7,20).weekday() = 6 (Sunday)

### Leap day 2000

- Date: 2000-02-29
- **Hari dalam seminggu: Tuesday**
- **Zeller's h (Saturday = 0): 3**
- Sumber pemeriksaan: Python 3.8: date(2000,2,29).weekday() = 1 (Tuesday); Zeller evaluated by hand with m = 14, Y = 1999

### First day of the Gregorian calendar

- Date: 1582-10-15
- **Hari dalam seminggu: Friday**
- **ISO weekday number (Monday = 1): 5**
- Sumber pemeriksaan: Inter gravissimas: Thursday 4 October 1582 (Julian) was followed by Friday 15 October 1582; Python date(1582,10,15).weekday() = 4

### Year 1, proleptic

- Date: 0001-01-01
- **Hari dalam seminggu: Monday**
- **Zeller's h (Saturday = 0): 2**
- Sumber pemeriksaan: Python 3.8: date(1,1,1).weekday() = 0 (Monday, proleptic Gregorian)

### 15 January 2026

- Date: 2026-01-15
- **Hari dalam seminggu: Thursday**
- **ISO weekday number (Monday = 1): 4**
- **Zeller's h (Saturday = 0): 5**
- Sumber pemeriksaan: Python 3.8: date(2026,1,15).weekday() = 3 (Thursday); Zeller by hand with m = 13, Y = 2025: h = 5

## Pertanyaan

### 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.

### Seberapa akurat “Day of the week calculator”?

Akurasi bergantung pada masukan dan asumsi metode. Aritmetika desimal memakai 50 digit signifikan, tetapi perkiraan, metode numerik dan data sumber bisa kurang presisi; pembulatan yang ditampilkan tidak menghilangkan batasan itu. Contoh penyelesaian yang diperiksa dengan sumber independen: 5. Misalnya, “Apollo 11 Moon landing” diperiksa dengan NASA mission records (Sunday 20 July 1969); Python date(1969,7,20).weekday() = 6 (Sunday).

### Dari mana metode ini berasal?

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

## Sumber

- Chr. Zeller, “Kalender-Formeln”, Acta Mathematica 9 (1887), 131–136
- [Howard Hinnant — weekday_from_days](https://howardhinnant.github.io/date_algorithms.html#weekday_from_days)
