Using Julian Dates

(Work In Progress)

Revision 4
Valerio Bellizzomi
System Experiments Laboratory

Astronomical Epochs

In astronomy, an epoch is a moment in time for which celestial coordinates or orbital elements are specified. In the case of celestial coordinates, the position at other times can be computed by taking into account precession and proper motion. In the case of orbital elements, it is necessary to take account of perturbation by other bodies in order to calculate the orbital elements for a different time.

The currently used standard epoch is J2000.0, which is January 1, 2000 at 12:00 TT. The prefix "J" indicates that it is a Julian epoch. The previous standard epoch was B1950.0, with the prefix "B" indicating it was a Besselian epoch.

Before 1984 Besselian epochs were used. Since that time Julian epochs have been used.

* The Henry Draper Catalog uses B1900.0

* Constellation boundaries were defined in 1930 along lines of right ascension and declination for the B1875.0 epoch.

Epochs for orbital elements are usually given in Terrestrial Time, in several different formats, including:

* Gregorian date with 24-hour time: 2000 Jan. 1, 12:00 TT

* Gregorian date with fractional day: 2000 Jan. 1.5 TT

* Julian Day with fractional day: JDT 2451545.0

* NASA/NORAD's Two-Line Elements format with fractional day: 00001.50000000

Julian epochs

A Julian epoch is an epoch that is based on Julian years of exactly 365.25 days. Since 1984, Julian epochs are used in preference to the earlier Besselian epochs.

Julian epochs are calculated according to:

J = 2000.0 + (Julian date - 2451545.0)/365.25

The standard epoch currently in use is J2000.0, which corresponds to January 1, 2000 12:00 Terrestrial Time.


The J2000.0 epoch is precisely Julian date 2451545.0 TT (Terrestrial Time), or January 1, 2000, noon TT. This is equivalent to January 1, 2000, 11:59:27.816 TAI or January 1, 2000, 11:58:55.816 UTC.

Since the right ascension and declination of stars are constantly changing due to precession, (and, for relatively nearby stars due to proper motion), astronomers always specify these with reference to a particular epoch. The earlier epoch that was in standard use was the B1950.0 epoch.

When the mean equator and equinox of J2000 are used to define a celestial reference frame, that frame may also be denoted J2000 coordinates or simply J2000. Technically, this is different from, but similar to, the International Celestial Reference System (ICRS): the mean equator and equinox at J2000.0 are distinct from and of lower precision than ICRS, but agree with ICRS to the limited precision of the former. Use of the "mean" locations means that nutation is averaged out or omitted. Novices are sometimes confused by finding that the Earth's rotational North pole does not point quite at the J2000 celestial pole at the epoch J2000.0; the reason is that the true pole of epoch nutates away from the mean one. The same differences pertain to the equinox.

The "J" in the prefix indicates that it is a Julian epoch rather than a Besselian epoch.

Julian Day Number

For convenience I report here the full text from the reference.

The Julian day or Julian day number (JDN) is the (integer) number of days that have elapsed since the initial epoch at noon Universal Time (UT) Monday, January 1, 4713 BC in the proleptic Julian calendar [1]. That noon-to-noon day is counted as Julian day zero. Thus the multiples of 7 are Mondays. Negative values can also be used, although those predate all recorded history.

Now at 09:47, Monday January 22, 2007 (UTC) the JDN is 2454122. The remainder of this value divided by 7 is 6, an integer expression for the day of the week with 0 representing Monday.

The Julian date (JD) is a continuous count of days and fractions elapsed since the same initial epoch. Currently the JD is 2454122.90764. The integral part (its floor) gives the Julian day number. The fractional part gives the time of day since noon UT as a decimal fraction of one day or fractional day, with 0.5 representing midnight UT. Typically, a 64-bit floating point (double precision) variable can represent an epoch expressed as a Julian date to about 1 millisecond precision.

A Julian date of 2454115.05486 means that the date and Universal Time is Sunday 14 January 2007 at 13:18:59.9.

The decimal parts of a Julian date:

0.1 = 2.4 hours or 144 minutes or 8460 seconds

0.01 = 0.24 hours or 14.4 minutes or 846 seconds

0.001 = 0.024 hours or 1.44 minutes or 84.6 seconds

0.0001 = 0.0024 hours or 0.144 minutes or 8.46 seconds

0.00001 = 0.00024 hours or 0.0144 minutes or 0.846 seconds.

Almost 2.5 million Julian days have elapsed since the initial epoch. JDN 2,400,000 was November 16, 1858. JD 2,500,000.0 will occur on August 31, 2132 at noon UT.

The Julian day number can be considered a very simple calendar, where its calendar date is just an integer. This is useful for reference, computations, and conversions. It allows the time between any two dates in history to be computed by simple subtraction.

The Julian day system was introduced by astronomers to provide a single system of dates that could be used when working with different calendars and to unify different historical chronologies. Apart from the choice of the zero point and name, this Julian day and Julian date are not directly related to the Julian calendar, although it is possible to convert any date from one calendar to the other.

The Modified Julian Day (MJD) is an abbreviated version of the old Julian Day (JD) dating method which has been in use for centuries by astronomers, geophysicists, chronologers, and others who needed to have an unambiguous dating system based on continuing day counts.

The JD counts have very little to do with the Julian calendar, which was introduced by Julius Caesar (46 BC) and in force until 1582 when Pope Gregory XIII directed the use of an improved calendar, now known as the Gregorian Calendar. In the case of the Julian day count, the name was given because at the time, the Julian calendar was in use and, therefore, the epoch of the day count was fixed in respect to it. The JD counts days within one Julian Period of exactly 7980 Julian years of 365.25 days.

Start of the JD count is from 0 at 12 noon 1 JAN -4712 (4713 BC), Julian proleptic calendar. Note that this day count conforms with the astronomical convention starting the day at noon, in contrast with the civil practice where the day starts with midnight (in popular use the belief is widespread that the day ends with midnight, but this is not the proper scientific use).

The Julian Period is given by the time it takes from one coincidence to the next of a solar cycle (28), a lunar cycle (19), and the ancient Roman Indiction (a tax cycle of 15 years). At any rate, this period is of interest only in regard to the adoption of the start, at which time all periods counted backwards were in coincidence.

The Modified Julian Day, on the other hand, was introduced by space scientists in the late 1950's. It is defined as

MJD = JD - 2400000.5

The half day is subtracted so that the day starts at midnight in conformance with civil time reckoning. This MJD has been sanctioned by various international commissions such as IAU, CCIR, and others who recommend it as a decimal day count which is independent of the civil calendar in use. To give dates in this system is convenient in all cases where data are collected over long periods of time. Examples are double star and variable star observations, the computation of time differences over long periods of time such as in the computation of small rate differences of atomic clocks, etc.

The MJD is a convenient dating system with only 5 digits, sufficient for most modern purposes. The days of the week can easily be computed because the same weekday is obtained for the same remainder of the MJD after division by 7.

EXAMPLE: MJD 49987 = WED., 27 SEPT, 1995

Division of the MJD by 7 gives a remainder of 0. All Wednesdays in 1995 have this same remainder of 0.

Note that for 1993 the MJD = 48987 + DOY

For 1994 the MJD = 49352 + DOY

For 1995 the MJD = 49717 + DOY

For 1996 the MJD = 50082 + DOY

For 1997 the MJD = 50448 + DOY

where DOY is the Day of the respective Year.

The MJD (and even more so the JD) has to be well distinguished from this day of the year (DOY). This is also often but erroneously called Julian Date, when in fact it is a Gregorian Date expressed as number of days in the year. This is a grossly misleading practice that was introduced by some who were simply ignorant and too careless to learn the proper terminology. It creates a confusion which should not be taken lightly. Moreover, a continuation of the use of expressions "Julian" or "J" day in the sense of a Gregorian Date will make matters even worse. It will inevitably lead to dangerous mistakes, increased confusion, and it will eventually destroy whatever standard practices exist.

The MJD has been officially recognized by the International Astronomical Union (IAU), and by the Consultative Committee for Radio (CCIR), the advisory committee to the International Telecommunications Union (ITU). The pertinent document is


This document is contained in the CCIR "Green Book," Volume VII. Additional, extensive documentation regarding the JD is contained in the Explanatory Supplement to the Astronomical Ephemeris and the Nautical Almanac , and in the yearbooks themselves, now called The Astronomical Almanac . The Almanac for Computers also provides information on such matters.

NOTE: The MJD is always referred to as a time reckoned in Universal Time (UT) or the closely related Coordinated Universal Time (UTC) , International Atomic Time (TAI), or Terrestrial Dynamic Time (TDT). The same is not true for the DOY. This is usually meant in a local time sense, but in all data which are given here at the observatory, we refer the DOY to UT also, except where specifically noted. One could call it then something like Universal Day of the Year to emphasize the point. However, this would introduce a completely new term, not authorized by any convention. Moreover, it is not really necessary to use a different term because we simply follow logically the same practice of extending a time and date measure to the UT reference as we do when we give any date or hour.

Julian Date

Historical Julian Dates were recorded relative to GMT or Ephemeris Time, but the International Astronomical Union now recommends that Julian Dates be specified in Terrestrial Time, and that when necessary to specify Julian Dates using a different time scale, that the time scale used be indicated when required, such as JD(UT1). The fraction of the day is found by converting the number of hours, minutes, and seconds after noon into the equivalent decimal fraction.

The term Julian date is also used to refer to:

* Julian calendar dates

* ordinal dates (day-of-year)

The use of Julian date to refer to the day-of-year (ordinal date) is usually considered to be incorrect.

Using Julian Dates

There are various algorithms that we could use, and various development directions are open.

Open Issues

A. Initial Epoch: Which epoch to consider as the starting point for datations?

  • J0.0 or MJD ?

B. Negative Dates: How to compute negative dates?

Open issue relating to negative dates previous to the astronomical epoch J0.0, as most conversion algorithms are designed to work with positive dates.

The short answers are:

  1. For datation of ancient events before January 1 -4712 (4713 BC) we need other algorithms.
  2. For datation of current events (after J0.0) and for navigational purposes these algorithms are usable.

C. Reference Frame: Which time reference frame to use during navigation. From the standpoint of pure instrumental reference, it would be extremely difficult to keep clocks synchronized with an external reference frame while the observer is moving. It then becomes evident that external reference frames cannot be accounted for, so it is my advice that we should use an internal reference frame that is independent from the spatial location of the observer. If we follow this line of reasoning, it appears that the only usable time references are atomic clocks. The response to this issue in particular is being developed.

D. Hardware Clock and Conversions: The representation of the JD inside a computer system is a floating point number (days.fraction_of_day). In standard computer systems, to obtain the JD it is necessary to apply conversion formulas to the RTC time, because JD isn't the hardware time format, so it cannot be extracted as-is from the hardware clock.

JD Representation in Computer Systems

The JD is a continuous count of days and fractions elapsed since the initial epoch. The integral part (its floor) gives the Julian day number. The fractional part gives the time of day since noon UT as a decimal fraction of one day or fractional day, with 0.5 representing midnight UT.

Typically, a 64-bit floating point (double precision) variable can represent an epoch expressed as a Julian date to about 1 millisecond precision.


The JD representation facilitate and speed-up date comparisons, because when comparing dates expressed with JD representations only one number needs to be compared. Furthermore, Julian dates can be stored as numbers, eliminating the need to manipulate strings and the need to convert forth and back between strings and numbers.


In all applications that do not need to deal with time in navigational or astronomical problems, we wish to use the inverted gregorian date format (YYYYMMDD) only as a convenience, this allows us to avoid using the conversion algorithms.


  • Revision 2 of 22.1.2007, Initial published revision.
  • Revision 3 of 22.11.2007, Second published revision.
  • Revision 4 of 23.11.2007, Reviewed revision, still work in progress.


[1] Istituto di Metrologia "Gustavo Colonnetti"

[2] IEN - Galileo Ferraris

[3] INRIM - Istituto Nazionale di Ricerca Metrologica


[5] Unix time (POSIX time)

[6] International Earth Rotation and Reference Systems Service - RESOLUTION B1 ON THE USE OF JULIAN DATES -- The XXIIIrd International Astronomical Union General Assembly

[7] Future of Leap Seconds - UTC might be redefined without Leap Seconds

[8] Time Scales

[9] ( TI - UT1 ) - Extrapolations of the difference ( TI - UT1 )

[10] Computer Time Synchronization. Michael Lombardi, Time and Frequency Division, NIST.

Revalidate HTML