|
Date Conversions |
|

|
| |
|

|
| Gregorian or Julian Calendar Date
to Julian Day Count |
| See Also: JD2CALXXX() and
JD2GREG() |
| Notes: Julian day number (JD)
is an astronomical calendar system whose largest unit is the day.
Each day has a value one greater than the next and dates never
cycle back to zero. For instance at noon on January 1, 2000 the JD
was: 2,451,545. This continuous day count makes it easy to
manipulate dates mathematically -- there are no leap days to worry
about. |
| |
| For most of the current epoch in the
Western world two widespread civil calendars have been in use. The
Julian calendar (no relation to the JD), which commenced the last
B.C. century in Roman times, and the Gregorian calendar that was
phased in worldwide from the 16th to the 20th century A.D. and is
the calendar on your wall. See Julian and Gregorian
Calendars for information on what these calendars achieved
compared to prior attempts. |
| |
| Julian day numbers start at noon (12
UT) and civil calendar dates start at midnight (0 UT). Therefore
conversions from the start of a civil calendar day to JD dates
result in a JD that is halfway over -- ending in .5 days. To avoid
time-zone confusion you MUST convert day/time to UT if requiring a
JD for a certain time during that day. |
| |
| The first function below will
convert Julian or Gregorian calendar dates to JD. The second and
third functions are derived from the first to only handle the
conversion of Gregorian dates -- the conversion of most use for
current calculations. The third function differs from the first
two in that input is a date in decimal-year form -- 1999.5 for
instance. This is useful in determining the JD of a midyear epoch,
such as used in the Astronomical Almanac section H: Bright
Stars. |
| |
| Resources: [AA: pp.
60-61]; [ESAA: p. 604, 606]; [S&T - May, 1984: pp. 454, 455] |
| |
| Auxiliary functions for Civil
Calendar Date to Julian Date conversion: |
| Adjust Month Number: |
 |
| Adjust Year Number: |
 |
| Get Century Number: |
 |
| Get Leap-Year Count: |
 |
| Constant value for JD at Noon,
January 1, 2000: |
 |
| |
| |
| Function to convert
Gregorian/Julian Year, Month and Day format to Julian day number |
| Input:
Year and Month as integer, Day can be fractional, IsGREG is 1 if
Gregorian date input, any other value is Julian calendar. |
| Output:
is JD in decimal. |
| For BC era take year as negative and
add one: 2 BC is -2+1 = -1. This is to compensate for the fact
that there was is no year zero in our calendar system. JD does not
exist before January 1.5 (noon UT of the first day), 4713 BC. |

| Function to convert
Gregorian Year, Month and Day format to Julian day number |
| Input:
Year and Month as integer, Day can be fractional |
| Output:
is JD in decimal. |
| Same restrictions as above, but only
converts Gregorian dates. |

| Function to convert
Gregorian Decimal Year to Julian day number |
| Input:
Year as a decimal number. |
| Output:
JD as a decimal number. |

| Example:
Convert Gregorian date/time to Julian day number |
| |
| Input year, month and day fraction
(default are User Constants): |
 |
| So we have: |
 |
| The JD for this date is: |
 |
| |
| Fractional JD Check |
| The fractional part of JD should be
equal to the time from noon (0.5) to the fraction part of DAYDec. |
 |
| |
| Example:
Find Julian Date for mid-Year Epoch. |
| |
| Input year of interest: For this
year: Resulting JD: |
 |

| Julian Day Count to
Gregorian or Julian Calendar Date |
| See Also:
CAL2JD() and GREG2JD() |
| Notes:
The functions here will determine the year, month, and day
equivalent of any non-negative Julian day number. The first set of
functions will return dates in Julian or Gregorian form based on
the setting of the IsGreg flag: -1 = auto, 0 = Julian, 1
= Gregorian. In auto mode dates returned from the span of the
BC years to October 4, 1582 AD are in the Julian calendar and
dates after that are in the Gregorian calendar. See Julian
and Gregorian Calendars for more about this cutoff date.
The second set of functions are convenient for converting JD to
Gregorian only. |
| |
| Resources:
[AA: p. 63]; [ESAA: p. 604, 606] |
| |
| Auxiliary functions used
for JD to Year, Month and Date conversion functions: |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| |
| The following three
functions will convert JD to Calendar Date |
| Input:
JD and IsGREG flag for calendar return type (see text above): -1 =
auto, 0 = Julian, 1 = Gregorian |
| Output:
Indicated Day, Month, or Year in UT time zone |
| |
| JD to Calendar Day of Month: |
 |
| JD to Calendar Month: |
 |
| JD to Calendar Year: |
 |
| |
| Formatting Matrix for above
calendar equations |
| Input:
JD and IsGREG flag (see above equation) |
| Output:
Date displayed in year, month and day format inside a matrix. |
 |
| |
| Convert JD to Gregorian
Date with the following three functions |
| Input:
JD |
| Output:
Indicated Day, Month, or Year in UT time zone |
| JD to Gregorian Day of
Month: |
 |
| JD to Gregorian Month: |
 |
| JD to Gregorian Year: |
 |
| |
| Formatting Matrix for above
Gregorian equations |
| Input:
JD |
| Output:
Date displayed in year, month and day format inside a matrix. |
 |
| |
| Function to convert Julian
day number to Gregorian Decimal Year |
| Input:
JD as a decimal number. |
| Output:
Year as a decimal number. |
 |
| |
| Example:
Convert JD to an epoch year |
| |
|
| Input Julian day number: |
Resulting epoch
year: |
 |
 |
|
|
|
Example:
Demonstrates how one date can be interpreted between calendar systems.
|
| |
|
Input Julian day number: 
|
|
Results using various settings of IsGreg flag:
|
|
|
Julian Calendar |
Forced Julian calendar result |
| |
Auto Select Calendar |
Returns Gregorian calendar after Oct 4, 1582 |
| |
Gregorian Calendar |
Forced Gregorian calendar result |
| |
| Result using dedicated Gregorian
Calendar function: |
Another way of achieving Forced Gregorian calendar result |

| Julian Day Count to Julian
Centuries from J2000 |
| Notes:
Many functions use the Julian day count in terms of Julian
centuries (JC) from the year 2000. A Julian century is 100 years
of 365.25 days each. Dates prior to the year 2000 will have a
negative Julian century value. |
| |
| Resources:
[AA: p. 83]; [TAA: p. B6] |
| |
| Julian Centuries from J2000
epoch |
| Input:
Julian day number in decimal |
| Output:
decimal number of JC from J2000. |
 |
| |
| Example:
Given Julian day count, return Julian centuries from J2000: |
| |
| Input year, month and day fraction
to generate JD from (default are User Constants): |
 |
| So we have: |
 |
| The Julian day number for this date
is: |
yields:  |
| |
Find JC from J2000:  |

| Returns Julian Day Number
at 0.0 UT for a Given Julian Day Count |
| Notes:
Because Julian days start at noon UT, the Julian day integer
advances over the course of a civil day. This system keeps the
integer part of Julian day numbers constant at night when most
astronomers are working. The function here returns the Julian day
at midnight, the start of the civil day, as an aide in determining
the calendar day represented by this day number. |
| |
| Determine JD at Zero Hours
UT of a given JD date |
| Input:
Julian day count. |
| Output:
JD at 0 UT. |
 |
| |
| Example:
Determine Gregorian calendar date of JD |
Input JD:  |
Find JD at civil midnight:
yields:  |
| |
| Check solution:
Look at input JD and JD at civil midnight (JD0UT) translated into
calendar dates. Year and month should match; the day number from
JD0UT should be the truncated day number from JD. |
 |
|

|
|
Astro
Utilities Electronic Book Copyright ©
1999 Pietro Carboni. All rights reserved. |
|