Rata Die

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.

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.

Forms
There are three distinct forms of R.D., heretofore defined using Julian Dates.

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

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

Fractional days
The first form of R.D. is a continuously-increasing fractional number, taking integer values at midnight local time. It is defined as:
 * RD = JD &minus; 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.

Day Number
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 &minus; 1,721,424.5 )

Noon Number
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 &minus; 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.