public abstract class Iso8601Converter extends java.lang.Object implements ValueConverter
Modifier and Type | Class and Description |
---|---|
protected static class |
Iso8601Converter.DateKit
Helper class which contains all the items which are potentially
expensive to produce but cannot be shared by different threads.
|
Modifier | Constructor and Description |
---|---|
protected |
Iso8601Converter(uk.ac.starlink.table.ValueInfo isoInfo,
uk.ac.starlink.table.ValueInfo numInfo)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
convert(java.lang.Object in)
Performs a conversion from the input type to the output type.
|
protected static double |
dateToMjd(int year,
int month,
int day,
int hour,
int min,
double sec)
Converts a calendar date and time to Modified Julian Date.
|
protected abstract double |
fromMjd(double mjd)
Converts from Modified Julian Date to this converter's
public date.
|
uk.ac.starlink.table.ValueInfo |
getInputInfo()
Returns metadata describing the values on the input end of the
conversion.
|
protected static Iso8601Converter.DateKit |
getKit()
Returns a date kit private to the calling thread.
|
uk.ac.starlink.table.ValueInfo |
getOutputInfo()
Returns metadata describing the values on the output end of the
conversion.
|
static long |
mjdToUnixMillis(double mjd)
Converts from modified Julian date to milliseconds since the Unix
epoch (1970-01-01T00:00:00).
|
protected abstract double |
toMjd(double number)
Converts from this converter's public date value to
Modified Julian Date.
|
java.lang.Object |
unconvert(java.lang.Object out)
Performs a reverse conversion, from the output type to the input type.
|
protected static double |
unixMillisToMjd(long unixMillis)
Converts from milliseconds since the Unix epoch (1970-01-01T00:00:00)
to a modified Julian date value
|
protected Iso8601Converter(uk.ac.starlink.table.ValueInfo isoInfo, uk.ac.starlink.table.ValueInfo numInfo)
isoInfo
- input value metadata (describing ISO-8601 strings)numInfo
- output value metadata (describing numeric date)public uk.ac.starlink.table.ValueInfo getInputInfo()
ValueConverter
getInputInfo
in interface ValueConverter
public uk.ac.starlink.table.ValueInfo getOutputInfo()
ValueConverter
getOutputInfo
in interface ValueConverter
public java.lang.Object convert(java.lang.Object in)
ValueConverter
convert
in interface ValueConverter
in
- object of input typepublic java.lang.Object unconvert(java.lang.Object out)
ValueConverter
unconvert
in interface ValueConverter
out
- object of output typeprotected abstract double toMjd(double number)
number
- date valueprotected abstract double fromMjd(double mjd)
mjd
- date as MJDprotected static double dateToMjd(int year, int month, int day, int hour, int min, double sec)
year
- year ADmonth
- index of month; January is 1, December is 12day
- day of month (the first day is 1)hour
- hour (0-23)min
- minute (0-59)sec
- second (0<=sec<60)protected static double unixMillisToMjd(long unixMillis)
unixMillis
- milliseconds since the Unix epochpublic static long mjdToUnixMillis(double mjd)
mjd
- modified Julian dateprotected static Iso8601Converter.DateKit getKit()
Copyright © 2017 Central Laboratory of the Research Councils. All Rights Reserved.