astrotool.date_time module¶
Date and time functions for AstroTool.
- astrotool.date_time.date_time2jd(year, month, day, hour, minute, second)[source]¶
Compute the Julian Day for a given year, month, day, hour, minute and second.
Notes
Date and time are expressed in UT.
- Parameters
year (int) – Year CE (UT). Note that year=0 = 1 BCE.
month (int) – Month number of year (UT; 1-12).
day (int) – Day of month with fraction (UT; 1.0-31.999).
hour (int) – Hour of time of day (UT).
minute (int) – Minute of hour of time (UT).
second (double) – Second of minute of time (UT).
- Returns
jd: Julian day (days).
- Return type
double
Note
uses julian_day().
- astrotool.date_time.deltat(jd)[source]¶
Return the value of DeltaT through interpolation.
- For the date range -700 - now, the value for Delta T is obtained by interpolation of known historical
values. Outside this range, a lenghtening of the day of 1.8 ms/century is assumed, as well as that the minimum of the parabola is DeltaT=12s in 1820.
- Parameters
jd (double) – Julian day (days).
- Returns
Delta T (s).
- Return type
double
References
International Earth Rotation and Reference Systems Service of the U.S. Naval Observatory.
- astrotool.date_time.deltat_1820(jd)[source]¶
Return a rough estimate for the value of Delta T.
A lenghtening of the day of 1.8 ms/century is assumed, as well as and that the minimum of the parabola is DeltaT=12s in 1820.
- Parameters
jd (double) – Julian day (days).
- Returns
Delta T (s).
- Return type
double
References
- astrotool.date_time.doy_from_datetime(date_time)[source]¶
Compute the day of year for a given datetime.
- Parameters
date_time (datetime) – Date and time.
- Returns
Day of year.
- Return type
(int)
- astrotool.date_time.doy_from_ymd(year, month, day)[source]¶
Compute the day of year for a given year, month and day.
- Parameters
year (int) – Year of date.
month (int) – Month of date.
day (int) – Day of date.
- Returns
Day of year.
- Return type
(int)
- astrotool.date_time.fix_date_time(year, month, day, hour, minute, second)[source]¶
Fix a given set of date and time variables (year, month, day, hour, minute and second) to make them consistent.
For example, month=13 will be corrected to month=1 in the next year, day=32 to a date in the next month, hour=24 to hour=0 on the next day, et cetera. This is useful, because some sources list hours between 1 and 24, rather than 0-23, on which Python’s datetime crashes. In rare cases of roundoff of 59.9 or a leap second, second=60. More generally, this makes it straightforward to add or subtract dates and times and to take into account timezones, DST, et cetera.
- Parameters
year (int) – Year CE. Note that year=0 = 1 BCE.
month (int) – Month number of year.
day (int) – Day of month with fraction.
hour (int) – Hour of time of day.
minute (int) – Minute of hour of time.
second (double) – Second of minute of time.
- Returns
tuple containing (year CE, month, day, hour, minute, second):
year (int): Year CE. Note that year=0 = 1 BCE.
month (int): Month number of year (UT; 1-12).
day (int): Day of month with fraction (UT; 1-31).
hour (int): Hour of time of day (0-23).
minute (int): Minute of hour of time (0-59).
second (double): Second of minute of time (0.000-59.999).
- Return type
Note
uses date_time2jd() and jd2date_time().
- astrotool.date_time.gmst(jd)[source]¶
Calculate Greenwich Mean Sidereal Time for any instant, in radians.
- Parameters
jd (double) – Julian day (days).
- Returns
gmst: Greenwich mean sidereal time (rad).
- Return type
double
References
Explanatory Supplement to the Astronomical Almanac, 3rd ed, Eq. 6.66 (2012).
- astrotool.date_time.jd2date_time(jd)[source]¶
Compute the date and time from a given Julian Day.
- Parameters
jd (double) – Julian day (days).
- Returns
tuple containing (year CE, month, day, hour, minute, second):
year (int): Year CE (UT). Note that year=0 = 1 BCE.
month (int): Month number of year (UT; 1-12).
day (int): Day of month with fraction (UT; 1.0-31.999).
hour (int): Hour of time of day (UT).
minute (int): Minute of hour of time (UT).
second (double): Second of minute of time (UT).
- Return type
Note
uses jd2ymd().
- astrotool.date_time.jd2tjc(jd)[source]¶
Compute the time in Julian centuries since 2000.0.
- Parameters
jd (double) – Julian day (days).
- Returns
tjc: Time in Julian centuries since 2000.0 (UT).
- Return type
double
- astrotool.date_time.jd2tjm(jd)[source]¶
Compute the time in Julian millennia since 2000.0.
- Parameters
jd (double) – Julian day (days).
- Returns
tjm: Time in Julian millennia since 2000.0 (UT).
- Return type
double
- astrotool.date_time.jd2year(jd)[source]¶
Compute a year with fraction from a given Julian Day.
- Parameters
jd (double) – Julian day (days).
- Returns
Year CE, with decimals. Note that year=0 indicates 1 BCE.
- Return type
double
- astrotool.date_time.jd2ymd(jd)[source]¶
Compute the calendar date from a given Julian Day.
Notes
Date and time are expressed in UT.
Decimals can be returned in the day to indicate the time of day, e.g. 1.0 for midnight and 1.5 for noon on the first day of the month.
- astrotool.date_time.julian_day(year, month, day)[source]¶
Compute the Julian Day for a given year, month and day.
Notes
Date and time are expressed in UT.
Decimals can be used in the day to take into account the time of day other than midnight, e.g. 1.5 for noon on the first day of the month.
- Parameters
year (int) – Year CE (UT). Note that year=0 = 1 BCE.
month (int) – Month number of year (UT; 1-12).
day (double) – Day of month with fraction (UT; 1.0-31.999).
- Returns
jd: Julian day (days).
- Return type
double
- astrotool.date_time.weekday_en_abbr_from_datetime(datetime)[source]¶
Return an English abbreviation of the weekday for a given datetime.
- Parameters
datetime (datetime)
- Returns
String with the three-character English abbreviation of the weekday (Mon-Sun).
- Return type
(str)
- astrotool.date_time.ymdhms_us_from_datetime64(dt64)[source]¶
Convert (array of) datetime64 to a calendar (array of) year, month, day, hour, minute, seconds, microsecond with these quantites indexed on the last axis.
- Parameters
dt64 (datetime64) – (numpy array of) datetime(s) (of arbitrary shape).
- Returns
- (…, 7) calendar array with last axis representing year, month, day, hour, minute,
second, microsecond.
- Return type
uint32 array
Note
Nicked from https://stackoverflow.com/a/56260054/1386750