Calendar-based questions test your understanding of:

  • Days of the week for a given date
  • Leap years
  • Odd days
  • Counting the number of specific weekdays between dates

The key idea is that the calendar follows a 7-day repeating cycle. The challenge is to map any date to the correct weekday using rules about years, leap years, and odd days.


2. Key Concepts, Formulas & Shortcuts

A. Leap Year Rule

A year is a leap year if:

  • Divisible by 4, and
  • Not divisible by 100, unless also divisible by 400

Examples:

  • 2000 → Leap year ✅
  • 1900 → Not a leap year ❌
  • 2024 → Leap year ✅

B. Odd Days

Odd days” are the number of days more than complete weeks in a time period.

Example: 10 days → 1 week + 3 odd days

Useful to find day of week:
Day of week = (Base day + Total odd days) mod 7


C. Day Codes (Standard Mapping)

DayCode
Sunday0
Monday1
Tuesday2
Wednesday3
Thursday4
Friday5
Saturday6

D. Odd Days in a Year

  • Ordinary Year: 365 days → 1 odd day
  • Leap Year: 366 days → 2 odd days

E. Month Code (Odd Days in Months)

MonthOdd Days
January3
February0 (1 in leap year)
March3
April2
May3
June2
July3
August3
September2
October3
November2
December3

F. 400-Year Cycle

  • Every 400 years → 0 odd days

  • Every 100 years:

    • 100 years = 5 odd days
    • 200 years = 3 odd days
    • 300 years = 1 odd day
    • 400 years = 0 odd days

3. Conceptual Tips & Common Mistakes

  • Don’t assume all years divisible by 4 are leap years — check century rule.
  • For reverse calculations (e.g., “What day was 15 Aug 1947?”), always move back carefully year by year and calculate total odd days.
  • Month codes change in leap years (Jan and Feb specifically).
  • When going backward in time, subtract odd days instead of adding.

4. Visual Pattern

The weekly cycle (Sun to Sat) repeats every 7 days.
Example:

  • If 1 Jan is Sunday, then:

    • 8 Jan → Sunday
    • 15 Jan → Sunday
    • So on...

Years shift the weekday by:

  • +1 for ordinary year
  • +2 for leap year

5. Solved Examples


Example 1: Day of the Week for a Given Date

Q: What day was 15th August 1947?

Step 1: Reference – Let’s use 1 Jan 1900 as Monday
(You can also use 1 Jan 2001 = Monday)

From 1900 to 1946 = 46 years

  • Leap years = 11
  • Ordinary years = 35
    → Total odd days = 11×2+35×1=5711 \times 2 + 35 \times 1 = 57

57mod7=157 \mod 7 = 1 → Advance by 1 day from Monday → Tuesday

Now add days from 1 Jan 1947 to 15 Aug 1947:

  • Jan: 31 (3 odd days)
  • Feb: 28 (0)
  • Mar: 31 (3)
  • Apr: 30 (2)
  • May: 31 (3)
  • Jun: 30 (2)
  • Jul: 31 (3)
  • Aug: 15 (1)

→ Total = 17 odd days = 17mod7=317 \mod 7 = 3

Final: Tuesday + 3 = Friday

Ans: 15 August 1947 was a Friday


Example 2: Find Next Same Calendar Year

Q: Which year will have the same calendar as 2023?

Start adding years and count total odd days:

2024 → Leap → +2
2025 → +1
2026 → +1
2027 → +1
2028 → Leap → +2
2029 → +1
2030 → +1
2031 → +1
2032 → Leap → +2
2033 → +1
2034 → +1
2035 → +1
2036 → Leap → +2
Total = 17

After 6 years → 2029 (adds up to 6 odd days = shift by 6 days ≠ match)
Keep going until total odd days ≡ 0

Answer: 2029 has the same cazendar as 2023.


Example 3: Count Number of Sundays on 1st Jan between 2001–2100

Start from 2001 (1 Jan 2001 = Monday)
Add 1 odd day per year (2 for leap)

Count years where the total odd days from 2001 make 1 Jan a Sunday (code = 0)

Track cumulative odd days:

  • 2001: 1
  • 2002: 2
  • 2003: 3
  • 2004 (leap): 5
  • 2005: 6
  • 2006: 0 → Sunday!

Continue this cycle to find all such years.

Final answer: Number of 1st Jan Sundays = 14


Example 4: Find the day 500 days after 1st Jan 2022 (Saturday)

500 days → 500mod7=3500 \mod 7 = 3

Saturday + 3 = Tuesday

Ans: Tuesday