astrocalc.times.conversions¶
Convert times between various epochs and units
- Author
David Young
Module Contents¶
Classes¶
The worker class for the conversions module |
API¶
- class astrocalc.times.conversions.conversions(log, settings=False)[source][source]¶
Bases:
objectThe worker class for the conversions module
Key Arguments
log– loggersettings– the settings dictionary
Usage
… todo::
- add usage info - create a sublime snippet for usage - add mjd_to_date - add decimal_day_to_day_hour_min_sec - add date_to_mjd - convert all functions in __init__ to modules
usage code
Initialization
- decimal_day_to_day_hour_min_sec(daysFloat)[source][source]¶
Convert a day from decimal format to hours mins and sec
Precision should be respected.
Key Arguments
daysFloat– the day as a decimal.
Return
daysInt– day as an integerhoursInt– hour as an integer (None if input precsion too low)minsInt– mins as an integer (None if input precsion too low)secFloat– secs as a float (None if input precsion too low)
Usage
… todo::
- replace `decimal_day_to_day_hour_min_sec` in all other code
from astrocalc.times import conversions converter = conversions( log=log ) daysInt, hoursInt, minsInt, secFloat = converter.decimal_day_to_day_hour_min_sec( daysFloat=24.2453 ) print(daysInt, hoursInt, minsInt, secFloat) # OUTPUT: 24, 5, 53, None daysInt, hoursInt, minsInt, secFloat = converter.decimal_day_to_day_hour_min_sec( daysFloat=24.1232435454 ) print("%(daysInt)s days, %(hoursInt)s hours, %(minsInt)s mins, %(secFloat)s sec" % locals()) # OUTPUT: 24 days, 2 hours, 57 mins, 28.242 sec
- get()[source][source]¶
get the conversions object
Return
conversions
… todo::
- @review: when complete, clean get method - @review: when complete add logging
- mjd_to_ut_datetime(mjd, sqlDate=False, datetimeObject=False)[source][source]¶
mjd to ut datetime
Precision should be respected.
Key Arguments
mjd– time in MJD.sqlDate– add a ‘T’ between date and time instead of spacedatetimeObject– return a datetime object instead of a string. Default False
… todo::
- replace getDateFromMJD in all code - replace getSQLDateFromMJD in all code
Return
utDatetime- the UT datetime in string format
Usage
from astrocalc.times import conversions converter = conversions( log=log ) utDate = converter.mjd_to_ut_datetime( mjd=57504.61577585013 ) print(utDate) # OUT: 2016-04-26 14:46:43.033 utDate = converter.mjd_to_ut_datetime( mjd=57504.61577585013, sqlDate=True ) print(utDate) # OUT: 2016-04-26T14:46:43.033
- ut_datetime_to_mjd(utDatetime)[source][source]¶
ut datetime to mjd
If the date given has no time associated with it (e.g.
20160426), then the datetime assumed is20160426 00:00:00.0.Precision should be respected.
Key Arguments
utDatetime– UT datetime. Can accept various formats e.g.201604261444,20160426,20160426144444.5452,2016-04-26 14:44:44.234,20160426 14h44m44.432s
Return
mjd– the MJD
… todo ::
- replace getMJDFromSqlDate in all code
Usage
from astrocalc.times import conversions converter = conversions( log=log ) mjd = converter.ut_datetime_to_mjd(utDatetime="20160426t1446") print(mjd) # OUT: 57504.6153 mjd = converter.ut_datetime_to_mjd(utDatetime="2016-04-26 14:44:44.234") print(mjd) # OUT: 57504.61440