Next Previous Up Contents
Next: Strings
Up: Functions
Previous: Functions
Functions for conversion of time values between various forms.
The forms used are
-
Modified Julian Date (MJD)
- A continuous measure in days since midnight at the start of
17 November 1858. Based on UTC.
-
ISO 8601
- A string representation of the form
yyyy-mm-ddThh:mm:ss.s
, where the T
is a literal character (a space character may be used instead).
Based on UTC.
-
Julian Epoch
- A continuous measure based on a Julian year of exactly 365.25 days.
For approximate purposes this resembles the fractional number
of years AD represented by the date. Sometimes (but not here)
represented by prefixing a 'J'; J2000.0 is defined as
2000 January 1.5 in the TT timescale.
-
Besselian Epoch
- A continuous measure based on a tropical year of about 365.2422 days.
For approximate purposes this resembles the fractional number of
years AD represented by the date. Sometimes (but not here)
represented by prefixing a 'B'.
Therefore midday on the 25th of October 2004 is
2004-10-25T12:00:00
in ISO 8601 format,
53303.5 as an MJD value,
2004.81588 as a Julian Epoch and
2004.81726 as a Besselian Epoch.
Currently this implementation cannot be relied upon to
better than a millisecond.
-
isoToMjd( isoDate )
-
Converts an ISO8601 date string to Modified Julian Date.
The basic format of the
isoDate
argument is
yyyy-mm-ddThh:mm:ss.s
, though some deviations
from this form are permitted:
- The '
T
' which separates date from time
can be replaced by a space
- The seconds, minutes and/or hours can be omitted
- The decimal part of the seconds can be any length,
and is optional
- A '
Z
' (which indicates UTC) may be appended
to the time
Some legal examples are therefore:
"1994-12-21T14:18:23.2
",
"1968-01-14
", and
"2112-05-25 16:45Z
".
-
isoDate
(String): date in ISO 8601 format
- return value (floating point): modified Julian date corresponding to
isoDate
-
dateToMjd( year, month, day, hour, min, sec )
-
Converts a calendar date and time to Modified Julian Date.
-
year
(integer): year AD
-
month
(integer): index of month; January is 1, December is 12
-
day
(integer): day of month (the first day is 1)
-
hour
(integer): hour (0-23)
-
min
(integer): minute (0-59)
-
sec
(floating point): second (0<=sec<60)
- return value (floating point): modified Julian date corresponding to arguments
-
dateToMjd( year, month, day )
-
Converts a calendar date to Modified Julian Date.
-
year
(integer): year AD
-
month
(integer): index of month; January is 1, December is 12
-
day
(integer): day of month (the first day is 1)
- return value (floating point): modified Julian date corresponding to 00:00:00 of the date
specified by the arguments
-
mjdToIso( mjd )
-
Converts a Modified Julian Date value to an ISO 8601-format date-time
string. The output format is
yyyy-mm-ddThh:mm:ss
.
-
mjd
(floating point): modified Julian date
- return value (String): ISO 8601 format date corresponding to
mjd
-
mjdToDate( mjd )
-
Converts a Modified Julian Date value to an ISO 8601-format date
string. The output format is
yyyy-mm-dd
.
-
mjd
(floating point): modified Julian date
- return value (String): ISO 8601 format date corresponding to
mjd
-
mjdToTime( mjd )
-
Converts a Modified Julian Date value to an ISO 8601-format time-only
string. The output format is
hh:mm:ss
.
-
mjd
(floating point): modified Julian date
- return value (String): ISO 8601 format time corresponding to
mjd
-
formatMjd( mjd, format )
-
Converts a Modified Julian Date value to a date using a customisable
date format.
The format is as defined by the
java.text.SimpleDateFormat
class.
The default output corresponds to the string
"yyyy-MM-dd'T'HH:mm:ss
"
-
mjd
(floating point): modified Julian date
-
format
(String): formatting patttern
- return value (String): custom formatted time corresponding to
mjd
-
mjdToJulian( mjd )
-
Converts a Modified Julian Date to Julian Epoch.
For approximate purposes, the result
of this routine consists of an integral part which gives the
year AD and a fractional part which represents the distance
through that year, so that for instance 2000.5 is approximately
1 July 2000.
-
mjd
(floating point): modified Julian date
- return value (floating point): Julian epoch
-
julianToMjd( julianEpoch )
-
Converts a Julian Epoch to Modified Julian Date.
For approximate purposes, the argument
of this routine consists of an integral part which gives the
year AD and a fractional part which represents the distance
through that year, so that for instance 2000.5 is approximately
1 July 2000.
-
julianEpoch
(floating point): Julian epoch
- return value (floating point): modified Julian date
-
mjdToBesselian( mjd )
-
Converts Modified Julian Date to Besselian Epoch.
For approximate purposes, the result
of this routine consists of an integral part which gives the
year AD and a fractional part which represents the distance
through that year, so that for instance 1950.5 is approximately
1 July 1950.
-
mjd
(floating point): modified Julian date
- return value (floating point): Besselian epoch
-
besselianToMjd( besselianEpoch )
-
Converts Besselian Epoch to Modified Julian Date.
For approximate purposes, the argument
of this routine consists of an integral part which gives the
year AD and a fractional part which represents the distance
through that year, so that for instance 1950.5 is approximately
1 July 1950.
-
besselianEpoch
(floating point): Besselian epoch
- return value (floating point): modified Julian date
-
unixMillisToMjd( unixMillis )
-
Converts from milliseconds since the Unix epoch (1970-01-01T00:00:00)
to a modified Julian date value
-
unixMillis
(long integer): milliseconds since the Unix epoch
- return value (floating point): modified Julian date
-
mjdToUnixMillis( mjd )
-
Converts from modified Julian date to milliseconds since the Unix
epoch (1970-01-01T00:00:00).
-
mjd
(floating point): modified Julian date
- return value (long integer): milliseconds since the Unix epoch
Next Previous Up Contents
Next: Strings
Up: Functions
Previous: Functions
STILTS - Starlink Tables Infrastructure Library Tool Set
Starlink User Note
256
STILTS web page:
http://www.starlink.ac.uk/stilts/
Author email:
m.b.taylor@bristol.ac.uk