Year Types

ISO8601:1988 defines that a week begins on Monday. The first week of a year is the one which includes the first Thursday, or equivalently the one which includes January 4.

There are 14 possible year patterns (if one excludes 1752, the year when Great Britain and her colonies switched from the Julian to the Gregorian calendar, when 11 days were 'missed out' from September. However let us ignore such historical problems, otherwise other issues arise - such as before 1751 the New Year began on Lady Day (25 March) rather than 1 January).

The 14 possible year patterns are made from:

Whitaker's Almanac refers to these 14 years by year letter, in the range A to N.
Years B*,D*,F*,H*,J*,L*, and N* are Leap Years, '*' indicates a Leap Year in the rest of this page.
Years A,C,E,G,I,K, and M are Non-Leap Years

For the current period of interest:
YearYear Type

Year start:
Year TypeJan 1 falls on
A and B*Sunday
C and D*Monday
E and F*Tuesday
G and H*Wednesday
I and J*Thursday
K and L*Friday
M and N*Saturday

Year end:
Year TypeDec 31 falls on
N* and ASunday
B* and CMonday
D* and ETuesday
F* and GWednesday
H* and IThursday
J* and KFriday
L* and MSaturday
Year types H*,I, and J* have 53 weeks. All other year types have 52 weeks.

An examples of each year type is:
A B* C D* E F* G H* I J* K L* M N*

Within my code, the value 'x%7' is used, where 'x' is the day number of the year (1-366) minus the day of the week (1-7).
This is the date of the first Sunday in the year (except that '0' is used instead of '7').
The mapping between 'x%7' and the year type letter is:
x%7 0 1 2 3 4 5 6
Year LetterC/D*A/B*M/N*K/L*I/J*G/H*E/F*
Clearly one cannot tell from the first Sunday in the year whether the year is a Leap Year or not, hence the two possible year type letters in each case.

The sequence of year types is:
Year -1YearYear +1
L*/M A C/D*
M B* E
A/N* C E/F*
A D* G
B*/C E G/H*
C F* I
D*/E G I/J*
E H* K
F*/G I K/L*
G J* M
H*/I K M/N*
I L* A
J*/K M A/B*
K N* C
For each of these transitions, I have produced a snapshot of the week numbers at the year transition

This information provided by
Andrew Benham