← Kavach कवचCalendar

Chapter 14

Calendar

Cut the days into weeks, keep the remainder, and the calendar answers itself.

Calendar questions look like general knowledge, but they are pure arithmetic. One idea solves almost all of them: the weekdays repeat after every 7 days. Take out the complete weeks from any count of days, and only a small remainder is left. That remainder, the odd days, is how far the weekday has moved.

In this chapter we first build the foundation: the week cycle, ordinary and leap years, the odd days of every month and the 400-year cycle. Then the ten types follow, the core forms first and the rarer ones later:
1. moving by days: n days after or before, with the 'yesterday / tomorrow' wording (and made-up weeks);
2. a given weekday for another date, the commonest form in recent papers (with century gaps);
3. the weekday of any date with no reference (with century endings);
4. counting a weekday in a month or year;
5. partial clues inside one month;
6. date chains, overlapping clues and date puzzles, a newer pattern;
7. years and months with the same calendar;
8. the first and last day of a year, and day-of-year numbering;
9. age and the days between two dates;
10. leap years and 29 February.

Calendar questions are regularly asked in SSC and Railway exams. Recent papers keep the questions short, but they love three things: a declared weekday that is not the real one, 'both days included' counting, and date chains that cross a month end. Understand the remainder once, and each of these takes two or three lines. Do not memorise tricks; see why they work.

The Week is a Cycle of 7

A week has 7 days, so the same weekday returns after 7, 14, 21 … days. Adding or removing complete weeks changes nothing. The only part that matters is what is left after removing complete weeks. That leftover is the number of odd days: the remainder when the days are divided by 7.

For example, 23 days = 3 weeks + 2 days, so 23 days make 2 odd days. If today is Monday, 23 days later it is Monday + 2 = Wednesday.

Give each weekday a number, so that you can add and subtract.

DaySunMonTueWedThuFriSat
Number0123456
  • Going forward by k odd days: add k. Going backward by k: subtract k.
  • Later date means forward; earlier date means backward.
  • Look at the wheel: +3 and −4 land on the same weekday. In general +k is the same as −(7 − k). So +6 = −1, +5 = −2, +4 = −3. Always pick the shorter move.

[[fig:0]]

Read the wording. "n days after" is +n and "n days before" is −n. But the "k-th day from today" counts today as the first, so it is +(k − 1); the 8th day from Friday is Friday again. Between two dates, the first date is left out and the last is counted: from 29 April to 15 August is 1 + 31 + 30 + 31 + 15 = 108 days.

Ordinary Years, Leap Years and the Leap Test

An ordinary year has 365 days = 52 weeks + 1 odd day. A leap year has 366 days = 52 weeks + 2 odd days. So the same date moves one weekday later every ordinary year, and two weekdays later when a 29 February lies in between.

The leap test.

  • A year that does not end in 00 is a leap year if its last two digits are divisible by 4.
  • A century year (ending in 00) is a leap year only if it is divisible by 400. The quick way: its first two digits must be divisible by 4.

[[fig:0]]

[[fig:1]]

So 1600, 2000 and 2400 are leap years, but 1700, 1800, 1900, 2100, 2200 and 2300 are not. Leap years come 4 years apart, except across a skipped century: after 2096 the next leap year is 2104, a gap of 8 years. A century year needs 400; every other year needs only 4.

Months and Their Odd Days

Each month has days = 4 weeks + some odd days. A 31-day month leaves 3, a 30-day month leaves 2, and February leaves 0 (28 days) or 1 (29 days).

[[fig:0]]

The twelve values add up to 29 = 4 weeks + 1, which is the 1 odd day of an ordinary year. With the leap February they add up to 30 = 4 weeks + 2. This is a good check.

To start from 1 January, keep the running total of odd days before each month:

MonthJanFebMarAprMayJunJulAugSepOctNovDec
Ordinary year033614625035
Leap year034025036146

Use: weekday of the d-th of a month = weekday of 1 January + (odd days before that month) + (d − 1). Memory aid: along your knuckles, the 31-day months sit on the knuckles and the 30-day months and February in the dips; July and August are the two neighbouring knuckles.

Centuries: the 400-Year Cycle

Counting from year 1, the first 100 years have 24 leap years and 76 ordinary years: 76 × 1 + 24 × 2 = 124 = 17 weeks + 5. So 100 years carry 5 odd days, 200 years carry 10 = 3, 300 years carry 15 = 1, and 400 years carry 20 + 1 (year 400 is leap) = 21 = 0.

BlockLeap yearsOdd daysLast day (31 Dec) of the century year
100 years245Friday
200 years483Wednesday
300 years721Monday
400 years970Sunday

[[fig:0]]

Because 400 years make a whole number of weeks, the entire calendar repeats every 400 years. So reduce any big year by 400 first. The last day of a century year Y depends only on Y mod 400: 0 gives Sunday, 100 Friday, 200 Wednesday, 300 Monday. A century therefore never ends on Tuesday, Thursday or Saturday.

Anchors worth remembering (1 January): 1600 Saturday, 1700 Friday, 1800 Wednesday, 1900 Monday, 2000 Saturday, 2100 Friday, 2025 Wednesday, 2026 Thursday. (1 January of year 1 AD was a Monday.)

Type 1

Weekday After or Before n Days (with Yesterday / Tomorrow Wording)

In the exam you get one weekday and a count of days, with no dates, and you must name the weekday after or before that count. Often the known weekday is hidden in words: 'If it was Saturday yesterday, what day will it be in 50 days?'

The weekdays repeat every 7 days, so only the remainder of n ÷ 7 matters. Reduce n, then move that many steps forward ("after") or backward ("before", "ago").

Take 150 days. 150 = 21 × 7 + 3, so it is the same as 3 days. Thursday + 3 = Sunday.

[[fig:0]]

Going backward: subtract the remainder, or add (7 − remainder). Thursday − 22 days: 22 = 3 × 7 + 1, so Thursday − 1 = Wednesday.

Yesterday, tomorrow and their friends. Put today at 0 on a number line and turn every phrase into a signed number. Then either solve for today, or simply add all the numbers in one go.

[[fig:1]]

PhraseOffset from today
yesterday / tomorrow−1 / +1
day before yesterday / day after tomorrow−2 / +2
X days before yesterday−(X + 1)
Y days after tomorrow+(Y + 1)
k-th day from today+(k − 1)
the day before the day after tomorrow+1 (that is tomorrow)

Notice the +1 and −1 hidden in "before yesterday" and "after tomorrow". Students who treat yesterday as the starting point of the count lose one day.

Method. (1) Write the first sentence as "today + a = known day" and solve for today. (2) Write the second phrase as an offset b and move once from today. Check with an example: "3 days before yesterday was Sunday" means today − 4 = Sunday, so today = Sunday + 4 = Thursday. Then "3 days after tomorrow" is today + 4 = Thursday + 4 = Monday.

Made-up weeks. If a planet has a week of m days (5, 6 or 8), the same machine runs with 7 replaced by m.

Different week length n. Write the cycle of day names in order. Odd days become days mod n. On a 6-day week, 26 days later is 26 mod 6 = 2 steps later. A 365-day year has 365 mod 6 = 5 odd days, and a 366-day year has 366 mod 6 = 0.

Reduce the number, not the days: only the remainder by 7 moves the weekday.

Type 2

A Given Weekday for Another Date (Reference Date)

Most questions give you one date with its weekday and ask for the weekday of another date. You never need the whole calendar. The weekday gap between two dates is just the number of days between them, taken mod 7, so you slide from the known date to the asked date.

Slide the year, then slide the month.
1. Year slide. Keep the day and month of the given date and move to the target year. Odd days = (year gap) + (number of 29 Februaries that lie after the earlier date and up to the later date). Forward: add. Backward: subtract.
2. Month slide. Inside the target year, go from the given month to the asked month, adding the odd days of each month crossed (31 days = 3, 30 days = 2, February = 0 or 1), and then add the difference of the dates. Forward: add. Backward: subtract.
3. Reduce mod 7 and make one move.

Three cases: Case I same day and month, different year: only step 1. Case II same year, different month or date: only step 2. Case III both differ: do both, and give each its own sign.

[[fig:0]]

Example. If 14 November 2015 is a Saturday, what is 14 July 2019? Year slide: 2015 → 2019, gap 4, plus 29 February 2016 inside = 5, forward, so 14 Nov 2019 is Saturday + 5 = Thursday. Month slide in 2019 from 14 Nov back to 14 Jul: crossing Jul, Aug, Sep, Oct = 3 + 3 + 2 + 3 = 11, i.e. 4, backward. Thursday − 4 = Sunday.

Big gaps and centuries. A gap of 400 years is a whole number of weeks, so the same date 400 years apart has the same weekday. For a gap of exactly 100 years, the same date moves ahead by 5 weekdays if a skipped century year (1700, 1800, 1900, 2100 …) lies inside, and by 6 if none does; going back, subtract the same number. 31 January 2022 is a Monday. The same date 100 years earlier lies in 1922, and between them there is the leap year 2000 but no skipped century year, so the move is 6 back: Monday − 6 = Tuesday. For any other big gap, count the years and the 29 Februaries between, as before.

A declared weekday is the truth of the question. If the question says a date is a Friday, use Friday, even if a phone calendar shows another day. Never correct the weekday given in the question; only move from it.

Which 29 Februaries lie between the two dates? Count only those. The year of the given date counts only if its 29 February is still ahead of the date.

Type 3

Weekday of Any Date (No Reference)

Here no weekday is given. You must start from a known anchor and count odd days. The anchors to remember are the 1 January weekdays in the foundation: 1800 Wednesday, 1900 Monday, 2000 Saturday, 2025 Wednesday. If a nearer anchor is known, walk from it.

Method: anchor + year-steps + day-of-year.
1. 1 January of year Y = anchor weekday + (last two digits of Y) + (number of leap years from the anchor year up to Y − 1). Every year adds 1 and every leap year adds one more.
2. The date = 1 January weekday + (odd days before the month, from the table) + (d − 1).
3. Reduce mod 7.

Check: 1 January 1999 = Monday (1900) + 99 + 24 leap years (1904 … 1996) = 1 + 123 = 124 = 17 × 7 + 5, so Friday.

[[fig:0]]

Other way: the odd-day method. Add the odd days of the completed centuries (400 years = 0; leftover 100, 200, 300 years = 5, 3, 1; so 1900 completed years = 1), the odd days of the completed years of the current century (years + leap years), and the days of the current year up to the date. Reduce mod 7 and read 0 = Sunday. For 14 February 1999: 1 + (98 + 24 = 122, i.e. 3) + (31 + 14 = 45, i.e. 3) = 7, so Sunday.

An optional code method, valid only for 1900 to 2099. Add (last two digits) + (last two digits ÷ 4, ignoring the remainder) + date + month code, take mod 7 and read Sat 0, Sun 1, Mon 2, Tue 3, Wed 4, Thu 5, Fri 6. Month codes: Jan 1, Feb 4, Mar 4, Apr 0, May 2, Jun 5, Jul 0, Aug 3, Sep 6, Oct 1, Nov 4, Dec 6. Then subtract 1 for any date in the 2000s, and subtract 1 more for January or February of a leap year. 15 August 1947: 47 + 11 + 15 + 3 = 76, i.e. 6, so Friday. Do not use it outside 1900–2099.

Last day of a century. Because 400 years make a whole number of weeks, 31 December of a century year Y depends only on Y mod 400: 0 gives Sunday, 100 Friday, 200 Wednesday, 300 Monday. So 31 December 2000 is a Sunday, 1900 a Monday, 2100 a Friday and 2200 a Wednesday. A century therefore never ends on a Tuesday, Thursday or Saturday; in such an option list strike those three first.

Anchor, then years, then the date inside the year. Never forget that January and February of a leap year come before the leap day.

Type 4

Counting a Particular Weekday in a Month or Year

A month is 4 full weeks plus 0, 1, 2 or 3 extra days. The extra days are the first days of the month, so those weekdays occur one more time (5 times) and the others occur 4 times.

Month lengthWeekdays that occur 5 times
28 daysnone
29 daysthe weekday of the 1st
30 daysthe 1st's weekday and the next one
31 daysthe 1st's weekday and the next two

[[fig:0]]

In the picture the 31-day month starts on Tuesday, so Tuesday, Wednesday and Thursday fall on 29, 30 and 31: they occur 5 times, the other four weekdays 4 times. The Tuesdays are 1, 8, 15, 22, 29 and the Saturdays are 5, 12, 19, 26.

A year. An ordinary year has 52 weeks + 1 day, so it has 53 of the weekday of 1 January and 52 of each other weekday. A leap year has 52 weeks + 2 days, so it has 53 of the weekdays of 1 January and 2 January. 2024 began on a Monday: it has 53 Mondays and 53 Tuesdays. 2025 began on a Wednesday: it has 53 Wednesdays.

Reverse questions. If a question says a month has exactly four Mondays and four Fridays, find the start day whose "5-times set" avoids both of them. For a 31-day month the set is three consecutive days: try each start day.

The extra days of a month are its first days: they are the 5-time weekdays. An ordinary February has every weekday exactly 4 times.

Type 5

Partial Clues Inside One Month

Here you get a few facts about one month (for instance 'the second Saturday is the 12th') and must find another date or weekday. You do not need the whole month. Dates 7 apart share a weekday, so reduce a given date to the first week by subtracting 7s: the 12th is the 5th, so the first Saturday is the 5th.

Method.
1. List the given weekday: Saturdays are 5, 12, 19, 26 (and 33 does not exist in a 30-day month).
2. Find any other weekday from the known one: weekday on date e = known weekday + (e − d) mod 7. Wednesday is 3 days before Saturday, so the Wednesdays are 5 − 3 = 2, then 9, 16, 23, 30.
3. Read off the date you need: the fourth Wednesday is the 23rd.

[[fig:0]]

In the picture the month starts on Tuesday (Saturday = 5). The blue column holds the Saturdays, the green column the Wednesdays, and the red box marks the answer.

Spot the distractions. Extra information is often only decoration. Answer what is asked and do not solve the whole month. And remember that 'the last day of the month is a Monday' is not enough for any other date unless the length of the month is given: it can be 28, 29, 30 or 31.

When the clue crosses a month end. 'The month ended on a Sunday' means the 1st of the next month is a Monday. To jump to a later month, add the odd days of the months passed (31 days = +3, 30 days = +2, February = 0 or 1), or use the 'odd days before the month' row. If 31 May is a Sunday, then 1 June is a Monday; June, July, August and September add 2 + 3 + 3 + 2 = 10 = 3 odd days, so 1 October is a Thursday and the first Monday of October is the 5th.

Reduce the known date to the first week; then dates 7 apart carry the same weekday.

Type 6

Date-Offset Chains, Overlapping Clues and Date Puzzles [New Pattern]

Newer papers love this type. Events are placed one after another by signed day offsets ('2 days before', '1 day after'), often across a month end. The mathematics is only addition and subtraction; the only place errors creep in is the month boundary.

Method.

  • Draw a horizontal timeline and put a short arrow between events, labelled +2 or −1. Place the first event, then move event by event.
  • At a month end roll over first, using the true length of that month in that year (February has 28 or 29 days!), and only then subtract or add the rest.
  • Read the question first: if only one date is asked, do not solve the other events.

[[fig:0]]

In the picture, Pune is on 26 February 2028. Surat is 4 days later: 27, 28, 29 (2028 is a leap year, so 29 February exists), then 1 March. Nagpur is 2 days before Surat: 28 February.

Overlapping statements. When people say 'after A but before B', write the allowed set and remember that both bounds are excluded. 'After the 17th but before the 21st' means {18, 19, 20}. 'After the 19th but before the 24th' means {20, 21, 22, 23}. The common date is 20. A statement with a negative form ('not before …') removes dates from the set.

Weekday chains work the same way. If Srinagar is Monday and Jammu is 3 days later, Jammu is Thursday; if Leh is 2 days before Jammu, Leh is Tuesday.

Assignment clues. Sometimes the dates are given and you must decide who gets which: 'Seminars were held in Delhi, Mumbai and Kolkata on 1st, 4th and 6th July. Kolkata was after Mumbai. Delhi was not on the 4th or 6th.' Use the 'not' clue first: Delhi must be on the 1st. The other two dates then go in the order of the 'after' clue. If more than one arrangement survives, the answer is 'cannot be determined'; if only one survives, that option is a trap.

Digits of a date. For a date written DD-MM-YYYY, 'all digits odd' forces the month to be 11 (months 01 to 09 hold a 0, and 10 and 12 hold an even digit) and the day to be 11, 13, 15, 17 or 19. 'All digits even' forces the month to be 02, 04, 06 or 08 and the day to be 02, 04, 06, 08, 20, 22, 24, 26 or 28. Fix the year first, then the month, then the day; take the smallest choice at each step for the earliest date and the largest for the latest. In a year whose own digits are all even there are 4 × 9 = 36 all-even dates.

Place the first event, move one step at a time, roll over the month before you subtract, and intersect the sets for 'after … but before …'.

Type 7

Years and Months with the Same Calendar

Two years have the same full calendar when both are leap or both are ordinary and 1 January falls on the same weekday. That happens when (year gap) + (leap years in between) is a multiple of 7.

You do not have to test every year. Divide the last two digits of the year by 4 and look at the remainder:

RemainderYear typeSame calendar forward afterBackward
0leap28 years28
1ordinary (year after a leap year)6 years11
2ordinary11 years11
3ordinary11 years6

[[fig:0]]

Why? From 2018 (remainder 2): the years 2018 to 2028 hold the leap years 2020, 2024 and 2028 (3 of them): 11 + 3 = 14 = 2 weeks, so 2029 starts on the same weekday. This works only while no skipped century year (1700, 1800, 1900, 2100, 2200 …) lies in the stretch; a leap century such as 2000 does not disturb it. When a skipped century is inside, use the direct test: (gap + leap years) mod 7 = 0. For example 1895 (remainder 3) would give 1906 by the shortcut, but 1900 is not a leap year, so the true match is 1901: gap 6 + leap year 1896 = 7.

Months. Two months start on the same weekday when the days between their 1sts add up to a multiple of 7. From 1 March to 1 November there are 245 = 35 × 7 days, so March and November start on the same weekday. Doing this for every pair gives two fixed lists. Learn them, and keep the leap list separate.

YearMonths that start on the same weekdayStanding alone
Ordinary (365)Jan = Oct; Feb = Mar = Nov; Apr = Jul; Sep = DecMay, Jun, Aug
Leap (366)Jan = Apr = Jul; Feb = Aug; Mar = Nov; Sep = DecMay, Jun, Oct

[[fig:1]]

The same start is not the same calendar. A calendar is identical only if the month also has the same number of days. In an ordinary year the only fully identical pair is January and October (31 days each); in a leap year it is January and July. April and July start alike in an ordinary year, but April has 30 days and July 31, so their calendars differ. Read the question: 'start on the same day' uses the lists above; 'the same calendar' needs the same length as well.

Years: first the type (leap or ordinary), then the remainder, then 6, 11 or 28; across a skipped century count directly. Months: the list of the right year type, and for 'same calendar' the same length too.

Type 8

First and Last Day of a Year; Day-of-Year Numbering

First and last day of a year. The first day of a year is its 1 January, and 1 January moves one weekday later after each ordinary year and two after each leap year. So walk from an anchor (1 January 1800 Wednesday, 1900 Monday, 2000 Saturday), forward or backward. Going back, subtract one for every year and one more for every leap year passed. The last day follows from the first: in an ordinary year 31 December has the weekday of 1 January (365 = 52 × 7 + 1), and in a leap year it is one weekday later. For 1 January 1776, go back from 1800 (Wednesday): 24 years and the 6 leap years 1776, 1780, …, 1796 make 30 = 2 odd days, and Wednesday − 2 = Monday.

Every day of a year has a number: 1 January is day 1, and 31 December is day 365 (or 366 in a leap year). The n-th day is (n − 1) days after 1 January, so its weekday is 1 January's weekday + (n − 1). The days left after the n-th day are (year length − n).

Memorise the number of the last day of each month; it makes the n-th day easy to locate.

Month endsJanFebMarAprMayJunJulAugSepOctNovDec
Ordinary315990120151181212243273304334365
Leap316091121152182213244274305335366

[[fig:0]]

In the picture, the 100th day of a non-leap year is Monday. The days after it are 365 − 100 = 265 = 37 × 7 + 6, so 31 December is Monday + 6 = Sunday.

Two days in consecutive years. Suppose day a of year N and day b of year N + 1 have the same weekday. The days between them are (length of year N − a) + b. This must be a multiple of 7. Test it with 365 and with 366: only one of them will work, and that tells you whether year N is a leap year.

The n-th day is n − 1 days after 1 January, not n.

Type 9

Age and Days Between Two Dates

Age is the difference between two dates, written as years, months and days. Subtract column by column: year − year, month − month, day − day. When a column goes negative, borrow from the bigger column.

Borrowing steps.

  • If the days go negative, borrow the number of days in the month before the end month (not the birth month), and reduce the months by 1.
  • If the months go negative, borrow 12 months and reduce the years by 1.

[[fig:0]]

In the picture, birth = 17 October 1996 and the end date = 5 June 2025. Days: 5 − 17 is negative, so borrow May's 31 days: 36 − 17 = 19, and the months drop from 6 to 5. Months: 5 − 10 is negative, so borrow 12: 17 − 10 = 7, and the years drop from 2025 to 2024. Years: 2024 − 1996 = 28. Age = 28 years 7 months 19 days.

Check by adding back: 17 October 1996 + 28 years = 17 October 2024; + 7 months = 17 May 2025; + 19 days = 5 June 2025. ✓

Days between two dates. Count the days remaining in the first month (month length − date of the first), plus every full month in between, plus the date of the last month. The first date is left out and the last is counted: from 29 April to 15 August = 1 + 31 + 30 + 31 + 15 = 108. If a 29 February lies in between, February has 29 days.

The month you borrow is the one just before the end month, because it is the month that the 'missing' days come from.

Type 10

Leap Years: the Test and Counting 29 Februaries

A leap year exists because the earth takes a little more than 365 days to go round the sun. To keep the calendar in step, an extra day, 29 February, is added every fourth year. Adding it in every century year would be slightly too much, so century years get a stricter test.

The test has only two lines.

  • A year that does not end in 00 is a leap year if it is divisible by 4. Look at the last two digits only: 08 yes, 05 no, 12 yes.
  • A century year (ending in 00) is a leap year only if it is divisible by 400. The fast way: look at its first two digits. If they are divisible by 4, it is a leap year.

[[fig:0]]

So 1600 (16), 2000 (20) and 2400 (24) are leap years, while 1700, 1800, 1900, 2100, 2200 and 2300 are not. A century year needs 400; every other year needs only 4.

To count leap years in a stretch of time, list them, do not divide. There are two kinds of question.

Whole-century spans. In the first 100 years of a 400-year cycle there are 24 leap years, in 200 years 48, in 300 years 72, and in 400 years 97. The 400th year is leap, so the last block holds 25. Any 400 consecutive years hold 97 leap years, so 29 February comes 97 times. The 29th of any other month comes in every year, so the date "29th" occurs 11 × 400 + 97 = 4497 times in 400 years. Note that 1901 to 2000 holds 25 leap years (2000 is leap) while 2001 to 2100 holds only 24 (2100 is not).

Any other span. Write the multiples of 4 that lie in the span, strike out the century years that fail the test, and then check the two edge years against the dates. A 29 February counts only if it lies between the start date and the end date.

[[fig:1]]

In the picture the span runs from 1 March 2003 to 20 January 2024. 29 February 2004, 2008, 2012, 2016 and 2020 lie inside. 29 February 2024 comes after 20 January 2024, so it is outside. The answer is 5.

Ask of each 29 February: does it fall between my two dates? Do not divide the span by 4, and do not assume two leap years in every 8 years.