An ordinal date is a calendar date typically consisting of a year and an ordinal number, ranging between 1 and 366 (starting on January 1), representing the multiples of a day, called day of the year or ordinal day number (also known as ordinal day or day number). The two parts of the date can be formatted as "YYYY-DDD" to comply with the ISO 8601 ordinal date format. The year may sometimes be omitted, if it is implied by the context; the day may be generalized from integers to include a decimal part representing a fraction of a day.

Nomenclature Ordinal date is the preferred name for what was formerly called the "Julian date" or , or , which still seen in old programming languages and spreadsheet software. The older names are deprecated because they are easily confused with the earlier dating system called 'Julian day number' or , which was in prior use and which remains ubiquitous in astronomical and some historical calculations.

The U.S. military sometimes uses a system they call the "Julian date format", which indicates the year and the day number (out of the 365 or 366 days of the year). For example, "11 December 1999" can be written as "1999345" or "99345", for the 345th day of 1999.

Calculation

Computation of the ordinal day within a year is part of calculating the ordinal day throughout the years from a reference date, such as the Julian date. It is also part of calculating the day of the week, though for this purpose modulo 7 simplifications can be made.

In the following text, several algorithms for calculating the ordinal day are presented. The inputs taken are integers , and , for the year, month, and day numbers of the Gregorian or Julian calendar date.

Trivial methods The most trivial method of calculating the ordinal day involves counting up all days that have elapsed per the definition:

Let O be 0. From , add the length of month to O, taking care of leap year according to the calendar used. Add d to O.

Similarly trivial is the use of a lookup table, such as the one referenced.

Zeller-like The table of month lengths can be replaced following the method of encoding the month-length variation in Zeller's congruence. As in Zeller, the is changed to if . It can be shown (see below) that for a month-number , the total days of the preceding months is equal to . As a result, the March 1-based ordinal day number is .

The formula reflects the fact that any five consecutive months in the range March–January have a total length of 153 days, due to a fixed pattern 31–30–31–30–31 repeating itself twice. This is similar to encoding of the month offset (which would be the same sequence modulo 7) in Zeller's congruence. As is 30.6, the sequence oscillates in the desired pattern with the desired period 5.

To go from the March 1 based ordinal day to a January 1 based ordinal day: For (March through December), where is a function returning 0 or 1 depending whether the input is a leap year. For January and February, two methods can be used: The trivial method is to skip the calculation of and go straight for for January and for February. The less redundant method is to use , where 306 is the number of dates in March through December. This makes use of the fact that the formula correctly gives a month-length of 31 for January.

"Doomsday" properties:

With and gives

giving consecutive differences of 63 (9 weeks) for 3, 4, 5, and 6, i.e., between 4/4, 6/6, 8/8, 10/10, and 12/12.

and gives

and with m and d interchanged

giving a difference of 119 (17 weeks) for (difference between 5/9 and 9/5), and also for (difference between 7/11 and 11/7).

Table To the day of 13Jan 14Feb 3Mar 4Apr 5May 6Jun 7Jul 8Aug 9Sep 10Oct 11Nov 12Deci Add 0 31 59 90 120 151 181 212 243 273 304 334 3 Leap years 0 31 60 91 121 152 182 213 244 274 305 335 2 Formula

For example, the ordinal date of April 15 is in a common year, and in a leap year.

Month–day

The number of the month and date is given by

the term can also be replaced by with the ordinal date.

Day 100 of a common year:

April 10. Day 200 of a common year:

July 19. Day 300 of a leap year:

November - 5 = October 26 (31 - 5).

Helper conversion table ord. date common year leap year 001 1 Jan 010 10 Jan 020 20 Jan 030 30 Jan 032 1 Feb 040 9 Feb 050 19 Feb 060 1 Mar 29 Feb 061 2 Mar 1 Mar 070 11 Mar 10 Mar 080 21 Mar 20 Mar 090 31 Mar 30 Mar 091 1 Apr 31 Mar 092 2 Apr 1 Apr 100 10 Apr 9 Apr

ord. date comm. year leap year 110 20 Apr 19 Apr 120 30 Apr 29 Apr 121 1 May 30 Apr 122 2 May 1 May 130 10 May 9 May 140 20 May 19 May 150 30 May 29 May 152 1 Jun 31 May 153 2 Jun 1 Jun 160 9 Jun 8 Jun 170 19 Jun 18 Jun 180 29 Jun 28 Jun 182 1 Jul 30 Jun 183 2 Jul 1 Jul 190 9 Jul 8 Jul

ord. date comm. year leap year 200 19 Jul 18 Jul 210 29 Jul 28 Jul 213 1 Aug 31 Jul 214 2 Aug 1 Aug 220 8 Aug 7 Aug 230 18 Aug 17 Aug 240 28 Aug 27 Aug 244 1 Sep 31 Aug 245 2 Sep 1 Sep 250 7 Sep 6 Sep 260 17 Sep 16 Sep 270 27 Sep 26 Sep 274 1 Oct 30 Sep 275 2 Oct 1 Oct 280 7 Oct 6 Oct

ord. date comm. year leap year 290 17 Oct 16 Oct 300 27 Oct 26 Oct 305 1 Nov 31 Oct 306 2 Nov 1 Nov 310 6 Nov 5 Nov 320 16 Nov 15 Nov 330 26 Nov 25 Nov 335 1 Dec 30 Nov 336 2 Dec 1 Dec 340 6 Dec 5 Dec 350 16 Dec 15 Dec 360 26 Dec 25 Dec 365 31 Dec 30 Dec 366 31 Dec

See also Julian day Zeller's congruence ISO week date

References