public class Times extends Object
A continuous measure in days since midnight at the start of 17 November 1858. Based on UTC.
MJD plus a fixed offset of 2400000.5. The number of days since the notional creation of the universe, midday on 1 Jan 4713 BC.
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.
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.
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'.
Fractional number of years AD represented by the date. 2000.0, or equivalently 1999.99recurring, is midnight at the start of the first of January 2000. Because of leap years, the size of a unit depends on what year it is in.
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.
Modifier and Type | Field and Description |
---|---|
static double |
MJD_OFFSET
JD value for MJD = 0 (=2400000.5).
|
Modifier and Type | Method and Description |
---|---|
static double |
besselianToMjd(double besselianEpoch)
Converts Besselian Epoch to Modified Julian Date.
|
static double |
dateToMjd(int year,
int month,
int day)
Converts a calendar date to Modified Julian Date.
|
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.
|
static double |
decYearToMjd(double decYear)
Converts a Decimal Year to a Modified Julian Date.
|
static double |
decYearToUnixSec(double decYear)
Converts a Decimal Year to seconds since 1970-01-01.
|
static String |
formatMjd(double mjd,
String format)
Converts a Modified Julian Date value to a date using a customisable
date format.
|
static double |
isoToMjd(String isoDate)
Converts an ISO8601 date string to Modified Julian Date.
|
static double |
isoToUnixSec(String isoDate)
Converts an ISO8601 date string to seconds since 1970-01-01.
|
static double |
jdToMjd(double jd)
Converts a Julian Day to Modified Julian Date.
|
static double |
jdToUnixSec(double jd)
Converts a Julian day to seconds since 1970-01-01.
|
static double |
julianToMjd(double julianEpoch)
Converts a Julian Epoch to Modified Julian Date.
|
static double |
mjdToBesselian(double mjd)
Converts Modified Julian Date to Besselian Epoch.
|
static String |
mjdToDate(double mjd)
Converts a Modified Julian Date value to an ISO 8601-format date
string.
|
static double |
mjdToDecYear(double mjd)
Converts a Modified Julian Date to Decimal Year.
|
static String |
mjdToIso(double mjd)
Converts a Modified Julian Date value to an ISO 8601-format date-time
string.
|
static double |
mjdToJd(double mjd)
Converts a Modified Julian Date to Julian Day.
|
static double |
mjdToJulian(double mjd)
Converts a Modified Julian Date to Julian Epoch.
|
static String |
mjdToTime(double mjd)
Converts a Modified Julian Date value to an ISO 8601-format time-only
string.
|
static long |
mjdToUnixMillis(double mjd)
Converts from modified Julian date to milliseconds since the Unix
epoch (1970-01-01T00:00:00).
|
static double |
mjdToUnixSec(double mjd)
Converts a Modified Julian Date to seconds since 1970-01-01.
|
static double |
unixMillisToMjd(long unixMillis)
Converts from milliseconds since the Unix epoch (1970-01-01T00:00:00)
to a modified Julian date value
|
public static final double MJD_OFFSET
public static double isoToMjd(String isoDate)
isoDate
argument is
yyyy-mm-ddThh:mm:ss.s
, though some deviations
from this form are permitted:
T
' which separates date from time
can be replaced by a spacemm-dd
' part may be replaced by a 3-digit
day of year 'ddd
'Z
' (which indicates UTC) may be appended
to the time1994-12-21T14:18:23.2
",
"1968-01-14
",
"2112-05-25 16:45Z
", and
"1987-172T22:12
".isoDate
- date in ISO 8601 formatisoDate
public 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)public static double dateToMjd(int year, int month, int day)
year
- year ADmonth
- index of month; January is 1, December is 12day
- day of month (the first day is 1)public static double decYearToMjd(double decYear)
decYear
- decimal yearpublic static double isoToUnixSec(String isoDate)
isoDate
argument is
yyyy-mm-ddThh:mm:ss.s
, though some deviations
from this form are permitted:
T
' which separates date from time
can be replaced by a spacemm-dd
' part may be replaced by a 3-digit
day of year 'ddd
'Z
' (which indicates UTC) may be appended
to the time1994-12-21T14:18:23.2
",
"1968-01-14
",
"2112-05-25 16:45Z
and
"1987-172T22:12
".isoDate
- date in ISO 8601 formatpublic static double decYearToUnixSec(double decYear)
decYear
- decimal yearpublic static double mjdToUnixSec(double mjd)
mjd
- modified Julian datepublic static double jdToUnixSec(double jd)
jd
- Julian daypublic static String mjdToIso(double mjd)
yyyy-mm-ddThh:mm:ss
.
If the result predates the Common Era, the string "(BCE)" is prepended.mjd
- modified Julian datemjd
public static String mjdToDate(double mjd)
yyyy-mm-dd
.
If the result predates the Common Era, the string "(BCE)" is prepended.mjd
- modified Julian datemjd
public static String mjdToTime(double mjd)
hh:mm:ss
.mjd
- modified Julian datemjd
public static double mjdToDecYear(double mjd)
mjd
- modified Julian Datepublic static String formatMjd(double mjd, String format)
java.text.SimpleDateFormat
class.
The default output corresponds to the string
"yyyy-MM-dd'T'HH:mm:ss
"
Note that the output from certain formatting characters
(such as MMM
for month, EEE
for day of week)
is dependent on your locale (system language settings).
The output time zone however always corresponds to UTC.
mjd
- modified Julian dateformat
- formatting pattternmjd
SimpleDateFormat
public static double jdToMjd(double jd)
jd-2400000.5
.jd
- Julian day numberpublic static double mjdToJd(double mjd)
jd+2400000.5
.mjd
- MJD valuepublic static double mjdToJulian(double mjd)
mjd
- modified Julian datepublic static double julianToMjd(double julianEpoch)
julianEpoch
- Julian epochpublic static double mjdToBesselian(double mjd)
mjd
- modified Julian datepublic static double besselianToMjd(double besselianEpoch)
besselianEpoch
- Besselian epochpublic static double unixMillisToMjd(long unixMillis)
unixMillis
- milliseconds since the Unix epochpublic static long mjdToUnixMillis(double mjd)
mjd
- modified Julian dateCopyright © 2024 Central Laboratory of the Research Councils. All Rights Reserved.