net.grelf.astro
Class JulianDate

java.lang.Object
  extended by net.grelf.astro.JulianDate
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable

public class JulianDate
extends java.lang.Object
implements java.lang.Cloneable, java.io.Serializable

This class holds a Julian date/time to an accuracy of 1 second. The Julian date is measured as the number of days since mean NOON on Jan 1st, 4713 BC, UT. It is useful in astronomy because it provides a continuous time axis in units of days without calendar and time zone complications. Graphing variable star magnitudes is particularly usefully done against this scale. Noon on 2010 Jan 1 is JD 2455198.0. Time in Java is based on 1970.0 UT which was JD 2440587.5.

See Also:
Serialized Form

Field Summary
static double B1950
           
static double J2000
           
 
Constructor Summary
JulianDate()
          Get the JD now (system time) - uses default locale so no time zone conversion should be needed.
JulianDate(java.util.Calendar dateTime)
          Construct from a Java calendar object (which already includes locale and time zone).
JulianDate(double jd)
          Construct from a numerical JD value.
JulianDate(long msSince1970)
          Construct from the Java time in milliseconds since 1970.0 UT
JulianDate(java.lang.String xmlDateTime)
          Construct from a xsd:DateTime value, as defined by W3C XML schema (eg, 2009-12-31T23:59:59.9+00:00).
JulianDate(javax.xml.datatype.XMLGregorianCalendar xmlCalendar)
          Construct from standard Java representation of a W3C xs:dateTime.
 
Method Summary
 JulianDate clone()
           
static JulianDate createJulianDate(java.lang.String xmlDateTime)
          Use this instead of constructor if the xmlDateTime may not be in W3C schema style.
static void dialogue()
          Display a dialogue for converting dates to Julian days and back
static void dialogue(java.awt.Frame parent)
          Display a dialogue for converting dates to Julian days and back
 boolean equals(java.lang.Object other)
           
 int hashCode()
          Enables JulianDate objects to be used as hash keys.
 double toDouble()
          Get the numerical JD.
 java.util.GregorianCalendar toGregorianCalendar()
           
 java.lang.String toImageTimestampFormat()
          Get the date/time in the format yyyy:MM:dd HH:mm:ss
 java.lang.String toString()
           
 java.lang.String toXmlDateTime()
          Returns dateTime in W3C schema format.
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

J2000

public static final double J2000
See Also:
Constant Field Values

B1950

public static final double B1950
See Also:
Constant Field Values
Constructor Detail

JulianDate

public JulianDate(double jd)
Construct from a numerical JD value.


JulianDate

public JulianDate(long msSince1970)
Construct from the Java time in milliseconds since 1970.0 UT


JulianDate

public JulianDate(java.util.Calendar dateTime)
Construct from a Java calendar object (which already includes locale and time zone).


JulianDate

public JulianDate()
Get the JD now (system time) - uses default locale so no time zone conversion should be needed.


JulianDate

public JulianDate(java.lang.String xmlDateTime)
           throws javax.xml.datatype.DatatypeConfigurationException
Construct from a xsd:DateTime value, as defined by W3C XML schema (eg, 2009-12-31T23:59:59.9+00:00).

Throws:
javax.xml.datatype.DatatypeConfigurationException

JulianDate

public JulianDate(javax.xml.datatype.XMLGregorianCalendar xmlCalendar)
Construct from standard Java representation of a W3C xs:dateTime.

Method Detail

toGregorianCalendar

public java.util.GregorianCalendar toGregorianCalendar()

createJulianDate

public static JulianDate createJulianDate(java.lang.String xmlDateTime)
Use this instead of constructor if the xmlDateTime may not be in W3C schema style. Image metadata in particular could be yyyy:mm:dd hh:mm:ss.


toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

toDouble

public double toDouble()
Get the numerical JD.


toImageTimestampFormat

public java.lang.String toImageTimestampFormat()
Get the date/time in the format yyyy:MM:dd HH:mm:ss


toXmlDateTime

public java.lang.String toXmlDateTime()
Returns dateTime in W3C schema format. If DatatypeConfigurationException occurs, logs the fact and returns an empty string.


equals

public boolean equals(java.lang.Object other)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Enables JulianDate objects to be used as hash keys.

Overrides:
hashCode in class java.lang.Object

clone

public JulianDate clone()
Overrides:
clone in class java.lang.Object

dialogue

public static void dialogue()
Display a dialogue for converting dates to Julian days and back


dialogue

public static void dialogue(java.awt.Frame parent)
Display a dialogue for converting dates to Julian days and back