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. The same system (including the same epoch) was used earlier, e.g., the REXX programming language since about 1980:
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 timezone, 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 Reingold
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
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 labelling noon time, and incapable of labelling 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 in the book for conversion of calendar dates between calendars that separate days on different boundaries.
The book does not explicitly distinguish between these three forms, using the abbreviation "R.D." for all of them.
The book does 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 minus 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".