-#!/usr/bin/env python
+"""
+Convert various formats to Julian float format. Classes and methods are
+imported from sidereal module.
+
+2010, Razvan Deaconescu, razvan.deaconescu@cs.pub.ro
+"""
import sys
import sidereal
-from datetime import datetime, date, time
-
-#
-# arguments are standard date string "YYYY-MM-DD"
-# and standard time string "HH:MM:SS.ss..."
-#
-
-def stringToJulian(date, time):
- d = sidereal.parseDate(date)
- t = sidereal.parseTime(time)
- dt = datetime.combine(d, t)
- return sidereal.JulianDate.fromDatetime(dt)
+import datetime
def datetimeToJulian(datetime):
- return sidereal.JulianDate.fromDatetime(datetime)
-
-#
-# arguments are standard date/time fields
-#
+ """ Convert datetime to Julian format. """
+ return sidereal.JulianDate.fromDatetime(datetime)
-def fieldsToJulian(year, month, day, hour, minute, second, millisecond, microsecond = 0):
- d = date(year, month, day)
- t = time(hour, minute, second, millisecond * 1000 + microsecond)
- dt = datetime.combine(d, t)
- return sidereal.JulianDate.fromDatetime(dt)
-
-#
-# argument is a julian date number
-#
+def stringToJulian(date, time):
+ """
+ Convert string formated date and time to Julian format.
+ Arguments are standard date string "YYYY-MM-DD" and standard time
+ string "HH:MM:SS.ss...".
+ """
+
+ d = sidereal.parseDate(date)
+ t = sidereal.parseTime(time)
+ dt = datetime.datetime.combine(d, t)
+ return datetimeToJulian(dt)
+
+def fieldsToJulian(year, month, day, hour, minute, second,
+ millisecond, microsecond = 0):
+ """ Convert date fields/list to Julian format. """
+ d = datetime.date(year, month, day)
+ t = datetime.time(hour, minute, second, millisecond * 1000 + microsecond)
+ dt = datetime.datetime.combine(d, t)
+ return datetimeToJulian(dt)
def julianToDatetime(jd):
+ """ Convert Julian format to datetime. """
julianDate = sidereal.JulianDate(jd)
return julianDate.datetime()
-#
-# test case for Julian Date conversion functions
-#
-
def main():
- jd = stringToJulian("2000-01-01", "12:00:00.00")
- print "getJulianFromDatime: ", float(jd)
+ """
+ Use case for Julian Date conversion functions.
+ """
+
+ jd = stringToJulian("2000-01-01", "12:00:00.00")
+ print "getJulianFromDatime: ", float(jd)
+
+ jd = fieldsToJulian(2000, 1, 1, 12, 0, 0, 0, 0)
+ print "getJulianFromFields: ", float(jd)
- jd = fieldsToJulian(2000, 1, 1, 12, 0, 0, 0, 0)
- print "getJulianFromFields: ", float(jd)
if __name__ == "__main__":
- sys.exit(main())
+ sys.exit(main())