Rata Die (RD) 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 for "fixed date") by Edward Reingold and Nachum Dershowitz for their book Calendrical Calculations. However, essentially the same system (including the same epoch) was used previously by the REXX programming language and by others.
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 RD values are relative to timezone. This makes RD 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: RD 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.
There are three distinct forms of RD. In this section they will each be defined in terms of Julian Dates. "Zoff" is the offset of the timezone being used, in fractional days. (For example, in Eastern Standard Time, 5 hours behind UT, Zoff = -5/24.)
The first form of RD 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 + Zoff
In the second form, RD is an integer that labels an entire day, from midnight to midnight local time. This is the result of rounding the first form of RD 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 + Zoff)
In the third form, the RD is an integer labelling noon local time, and incapable of labelling any other time of day. This is defined as
- RD = JD - 1 721 425 + Zoff
where the RD value must be an integer, thus constraining the choice of JD. (The fractional part of the JD must have a particular value which depends on Zoff.) This form of RD 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 "RD" for all of them.
There is another day count system that is based on local time.
The Lilian Day Number (LDN) is an integer labelling a whole day (like the second form of RD). LDN is 1 on October 15, 1582, which is the first day of the Gregorian calendar. It is named after Aloysius Lilius, the inventor of the Gregorian calendar. It can be defined mathematically as:
- LDN = floor(JD - 2 299 159.5 + Zoff)
See the "Julian Date" article for systems that are independent of timezone.