Rata Die (R.D.) is a system for assigning numbers to calendar days (optionally with time of day), independent of any calendar, for the purposes of calendrical calculations. It was named (after the Latin ablative feminine singular for "from a fixed date") by Howard Jacobson.[1][2] The same system (including the same epoch) was used earlier, e.g., the REXX programming language since about 1980:[3]

The base date of 1 January 0001 is determined by extending the current Gregorian calendar backward (365 days each year, with an extra day every year that is divisible by 4 except century years that are not divisible by 400).

Rata Die is somewhat similar to Julian Dates (JD), in that the values are plain real numbers that increase by 1 each day. The systems differ principally in that JD takes on a particular value at a particular absolute time, and is the same in all contexts, whereas R.D. values may be relative to time zone, depending on the implementation. This makes R.D. more suitable for work on calendar dates, whereas JD is more suitable for work on time per se. The systems also differ trivially by having different epochs: R.D. is 1 at midnight (00:00) local time on January 1, AD 1 in the proleptic Gregorian calendar, JD is 0 at noon (12:00) Universal Time on January 1, 4713 BC in the proleptic Julian calendar, and the REXX count of days begins with 0 at midnight (00:00) local time on January 1, AD 1 in the proleptic Gregorian calendar.


Dershowitz and ReingoldEdit

There are three distinct forms of R.D. In this section they will each be defined in terms of Julian Dates.

The first form of R.D. is a continuously-increasing fractional number, taking integer values at midnight local time. It may be defined in terms of the Julian Date as

RD = JD − 1,721,424.5

Midnight local time on December 31, year 0 (1 BC) in the proleptic Gregorian calendar corresponds to Julian Date 1,721,424.5 and hence RD 0.

In the second form, R.D. is an integer that labels an entire day, from midnight to midnight local time. This is the result of rounding the first form of R.D. downwards (towards negative infinity). It is the same as the relation between Julian Date and Julian Day Number (JDN). Thus:

RD = floor( JD − 1,721,424.5 )

In the third form, the R.D. is an integer labeling noon time, and incapable of labeling any other time of day. This is defined as

RD = JD − 1,721,425

where the R.D. value must be an integer, thus constraining the choice of JD. This form of R.D. is used by Dershowitz and Reingold for conversion of calendar dates between calendars that separate days on different boundaries.

Dershowitz and Reingold do not explicitly distinguish between these three forms, using the abbreviation "R.D." for all of them.[1]

Dershowitz and Reingold do not say that the RD is based on Greenwich time, but page 10 states that an R.D. with a decimal fraction is called a moment, and the function moment-from-jd takes a floating point number as an argument and returns the argument -1721424.5; there is no requirement or opportunity to supply a time zone offset as an argument.


The DATE function of the REXX computer language can return the number of complete days (that is, not including the current day) since and including the base date, 1 January AD 1 Gregorian, if the "Base" option is specified. This function uses local, not Greenwich, time. REXX does not use the name "Rata Die".

See alsoEdit


  1. ^ a b Reingold, Edward; Dershowitz, Nachum (2008). Calendrical Calculations (3rd ed.). Cambridge University Press. chapter 1.2. ISBN 978-0-521-70238-6.
  2. ^ It was called absolute date in GNU Emacs.
  3. ^ REXX/400 Reference manual page 87.