Ordinal date

Last updated
Today's date (UTC) expressed according to ISO 8601 [ refresh ]
Date2024-03-27
Ordinal date2024-087
Mission control center's board with time data, displaying universal time with ordinal date (without year) prepended, on 22nd October 2013 (i.e. 2013-295) Cygnus 1 releasing seen from Mission Control (cropped) - clock board detail.jpg
Mission control center's board with time data, displaying universal time with ordinal date (without year) prepended, on 22nd October 2013 (i.e. 2013-295)

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.

Contents

Nomenclature

Ordinal date is the preferred name for what was formerly called the "Julian date" or JD, or JDATE, 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 JDN, which was in prior use and which remains ubiquitous in astronomical and some historical calculations.

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 O are presented. The inputs taken are integers y, m and d, 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:

  1. Let O be 0.
  2. From i = 1 .. m - 1, add the length of month i to O, taking care of leap year according to the calendar used.
  3. Add d to O.

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

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 m is changed to m + 12 if m 2. It can be shown (see below) that for a month-number m, the total days of the preceding months is equal to ⌊(153 * (m 3) + 2) / 5⌋. As a result, the March 1-based ordinal day number is OMar = ⌊(153 × (m 3) + 2) / 5⌋ + d.

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 153/5 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:

"Doomsday" properties:

With and gives

giving consecutive differences of 63 (9 weeks) for n = 2, 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 n = 2 (difference between 5/9 and 9/5), and also for n = 3 (difference between 7/11 and 11/7).

Table

To the day of13
Jan
14
Feb
3
Mar
4
Apr
5
May
6
Jun
7
Jul
8
Aug
9
Sep
10
Oct
11
Nov
12
Dec
i
Add03159901201511812122432733043343
Leap years03160911211521822132442743053352
Algorithm

For example, the ordinal date of April 15 is 90 + 15 = 105 in a common year, and 91 + 15 = 106 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.

April 10.
July 19.
November - 5 = October 26 (31 - 5).

Helper conversion table

ord.
date
common
year
leap
year
0011 Jan
01010 Jan
02020 Jan
03030 Jan
0321 Feb
0409 Feb
05019 Feb
0601 Mar29 Feb
0612 Mar1 Mar
07011 Mar10 Mar
08021 Mar20 Mar
09031 Mar30 Mar
0911 Apr31 Mar
0922 Apr1 Apr
10010 Apr9 Apr
ord.
date
comm.
year
leap
year
11020 Apr19 Apr
12030 Apr29 Apr
1211 May30 Apr
1222 May1 May
13010 May9 May
14020 May19 May
15030 May29 May
1521 Jun31 May
1532 Jun1 Jun
1609 Jun8 Jun
17019 Jun18 Jun
18029 Jun28 Jun
1821 Jul30 Jun
1832 Jul1 Jul
1909 Jul8 Jul
ord.
date
comm.
year
leap
year
20019 Jul18 Jul
21029 Jul28 Jul
2131 Aug31 Jul
2142 Aug1 Aug
2208 Aug7 Aug
23018 Aug17 Aug
24028 Aug27 Aug
2441 Sep31 Aug
2452 Sep1 Sep
2507 Sep6 Sep
26017 Sep16 Sep
27027 Sep26 Sep
2741 Oct30 Sep
2752 Oct1 Oct
2807 Oct6 Oct
ord.
date
comm.
year
leap
year
29017 Oct16 Oct
30027 Oct26 Oct
3051 Nov31 Oct
3062 Nov1 Nov
3106 Nov5 Nov
32016 Nov15 Nov
33026 Nov25 Nov
3351 Dec30 Nov
3362 Dec1 Dec
3406 Dec5 Dec
35016 Dec15 Dec
36026 Dec25 Dec
36531 Dec30 Dec
36631 Dec

See also

Related Research Articles

<span class="mw-page-title-main">Binary search algorithm</span> Search algorithm finding the position of a target value within a sorted array

In computer science, binary search, also known as half-interval search, logarithmic search, or binary chop, is a search algorithm that finds the position of a target value within a sorted array. Binary search compares the target value to the middle element of the array. If they are not equal, the half in which the target cannot lie is eliminated and the search continues on the remaining half, again taking the middle element to compare to the target value, and repeating this until the target value is found. If the search ends with the remaining half being empty, the target is not in the array.

<span class="mw-page-title-main">Floor and ceiling functions</span> Nearest integers from a number

In mathematics, the floor function (or greatest integer function) is the function that takes as input a real number x, and gives as output the greatest integer less than or equal to x, denoted x or floor(x). Similarly, the ceiling function maps x to the smallest integer greater than or equal to x, denoted x or ceil(x).

In computational complexity theory, the time hierarchy theorems are important statements about time-bounded computation on Turing machines. Informally, these theorems say that given more time, a Turing machine can solve more problems. For example, there are problems that can be solved with n2 time but not n time, where n is the input length.

In mathematics, Bertrand's postulate states that for each there is a prime such that . First conjectured in 1845 by Joseph Bertrand, it was first proven by Chebyshev, and a shorter but also advanced proof was given by Ramanujan.

In computer programming, a bitwise operation operates on a bit string, a bit array or a binary numeral at the level of its individual bits. It is a fast and simple action, basic to the higher-level arithmetic operations and directly supported by the processor. Most bitwise operations are presented as two-operand instructions where the result replaces one of the input operands.

Dominical letters or Sunday letters are a method used to determine the day of the week for particular dates. When using this method, each year is assigned a letter depending on which day of the week the year starts. The Dominical letter for the current year 2024 is GF.

In mathematics, the Lucas–Lehmer test (LLT) is a primality test for Mersenne numbers. The test was originally developed by Édouard Lucas in 1878 and subsequently proved by Derrick Henry Lehmer in 1930.

In statistics, a k-thpercentile, also known as percentile score or centile, is a score below which a given percentage k of scores in its frequency distribution falls or a score at or below which a given percentage falls. Percentiles are expressed in the same unit of measurement as the input scores, not in percent; for example, if the scores refer to human weight, the corresponding percentiles will be expressed in kilograms or pounds. In the limit of an infinite sample size, the percentile approximates the percentile function, the inverse of the cumulative distribution function.

The determination of the day of the week for any date may be performed with a variety of algorithms. In addition, perpetual calendars require no calculation by the user, and are essentially lookup tables. A typical application is to calculate the day of the week on which someone was born or a specific event occurred.

In number theory, a formula for primes is a formula generating the prime numbers, exactly and without exception. Formulas for calculating primes do exist, however, they are computationally very slow. A number of constraints are known, showing what such a "formula" can and cannot be.

<span class="mw-page-title-main">Doomsday rule</span> Way of calculating the day of the week of a given date

The Doomsday rule, Doomsday algorithm or Doomsday method is an algorithm of determination of the day of the week for a given date. It provides a perpetual calendar because the Gregorian calendar moves in cycles of 400 years. The algorithm for mental calculation was devised by John Conway in 1973, drawing inspiration from Lewis Carroll's perpetual calendar algorithm. It takes advantage of each year having a certain day of the week upon which certain easy-to-remember dates, called the doomsdays, fall; for example, the last day of February, 4/4, 6/6, 8/8, 10/10, and 12/12 all occur on the same day of the week in any year.

In computational complexity theory, the complexity class ELEMENTARY of elementary recursive functions is the union of the classes

Zeller's congruence is an algorithm devised by Christian Zeller in the 19th century to calculate the day of the week for any Julian or Gregorian calendar date. It can be considered to be based on the conversion between Julian day and the calendar date.

In computing, the modulo operation returns the remainder or signed remainder of a division, after one number is divided by another.

<span class="mw-page-title-main">Josephus problem</span> Mathematical counting-out question

In computer science and mathematics, the Josephus problem is a theoretical problem related to a certain counting-out game. Such games are used to pick out a person from a group, e.g. eeny, meeny, miny, moe.

The ISO week date system is effectively a leap week calendar system that is part of the ISO 8601 date and time standard issued by the International Organization for Standardization (ISO) since 1988 and, before that, it was defined in ISO (R) 2015 since 1971. It is used (mainly) in government and business for fiscal years, as well as in timekeeping. This was previously known as "Industrial date coding". The system specifies a week year atop the Gregorian calendar by defining a notation for ordinal weeks of the year.

The digital root of a natural number in a given radix is the value obtained by an iterative process of summing digits, on each iteration using the result from the previous iteration to compute a digit sum. The process continues until a single-digit number is reached. For example, in base 10, the digital root of the number 12345 is 6 because the sum of the digits in the number is 1 + 2 + 3 + 4 + 5 = 15, then the addition process is repeated again for the resulting number 15, so that the sum of 1 + 5 equals 6, which is the digital root of that number. In base 10, this is equivalent to taking the remainder upon division by 9, which allows it to be used as a divisibility rule.

A calendrical calculation is a calculation concerning calendar dates. Calendrical calculations can be considered an area of applied mathematics. Some examples of calendrical calculations:

In computer science, multiply-with-carry (MWC) is a method invented by George Marsaglia for generating sequences of random integers based on an initial set from two to many thousands of randomly chosen seed values. The main advantages of the MWC method are that it invokes simple computer integer arithmetic and leads to very fast generation of sequences of random numbers with immense periods, ranging from around to .

In modular arithmetic, Barrett reduction is a reduction algorithm introduced in 1986 by P.D. Barrett.

References

  1. "Table of ordinal day number for various calendar dates" . Retrieved 2021-04-08.