new JulianDate
Constructs a JulianDate instance from a Julian day number, the number of seconds elapsed into that day, and the time standard which the parameters are in. Passing no parameters will construct a JulianDate that represents the current system time. An astronomical Julian Date is the number of days since noon on January 1, -4712 (4713 BC). For increased precision, this class stores the whole number part of the date and the seconds part of the date in separate components. In order to be safe for arithmetic and represent leap seconds, the date is always stored in the International Atomic Time standard TimeStandard.TAI.
Parameters:
| Name | Type | Argument | Default | Description |
|---|---|---|---|---|
julianDayNumber |
Number | The Julian Day Number representing the number of whole days. Fractional days will also be handled correctly. | ||
julianSecondsOfDay |
Number | The number of seconds into the current Julian Day Number. Fractional seconds, negative seconds and seconds greater than a day will be handled correctly. | ||
timeStandard |
TimeStandard |
<optional> |
TimeStandard.UTC | The time standard in which the first two parameters are defined. |
Throws:
-
DeveloperError : timeStandard is not a known TimeStandard.
-
DeveloperError : julianDayNumber is required.
-
DeveloperError : julianSecondsOfDay is required.
Example
// Example 1. Construct a Julian date representing the current system time. var julianDate = new JulianDate(); // Example 2. Construct a Julian date from a Julian day number and seconds of the day. var julianDayNumber = 2448257; // January 1, 1991 var secondsOfDay = 21600; // 06:00:00 var julianDate = new JulianDate(julianDayNumber, secondsOfDay, TimeStandard.UTC);
Methods
-
addDays
-
Returns a new Julian date representing a time
durationdays later (or earlier in the case of a negative amount).Parameters:
Name Type Description durationNumber An integer number of days to add or subtract. Throws:
DeveloperError : duration is required and must be a number.Returns:
JulianDate A new Julian date objectExample
var date = new Date(); date.setUTCFullYear(2011, 6, 4); // July 4, 2011 @ 12:00 UTC date.setUTCHours(12, 0, 0, 0); var start = JulianDate.fromDate(date); var end = start.addDays(5); // July 9, 2011 @ 12:00 UTC
-
addHours
-
Returns a new Julian date representing a time
durationhours later (or earlier in the case of a negative amount).Parameters:
Name Type Description durationNumber An integer number of hours to add or subtract. Throws:
DeveloperError : duration is required and must be a number.Returns:
JulianDate A new Julian date objectExample
var date = new Date(); date.setUTCFullYear(2011, 6, 4); // July 4, 2011 @ 12:00 UTC date.setUTCHours(12, 0, 0, 0); var start = JulianDate.fromDate(date); var end = start.addHours(6); // July 4, 2011 @ 18:00 UTC
-
addMinutes
-
Returns a new Julian date representing a time
durationminutes later (or earlier in the case of a negative amount).Parameters:
Name Type Description durationNumber An integer number of minutes to add or subtract. Throws:
DeveloperError : duration is required and must be a number.Returns:
JulianDate A new Julian date objectExample
var date = new Date(); date.setUTCFullYear(2011, 6, 4); // July 4, 2011 @ 12:00 UTC date.setUTCHours(12, 0, 0, 0); var start = JulianDate.fromDate(date); var end = start.addMinutes(65); // July 4, 2011 @ 13:05 UTC
-
addSeconds
-
Returns a new Julian date representing a time
durationseconds later (or earlier in the case of a negative amount).Parameters:
Name Type Argument Description secondsNumber The number of seconds to add or subtract. resultJulianDate <optional>
The JulianDate to store the result into. Throws:
DeveloperError : seconds is required and must be a number.Returns:
JulianDate The modified result parameter or a new JulianDate instance if it was not provided.Example
var date = new Date(); date.setUTCFullYear(2011, 6, 4); // July 4, 2011 @ 12:00:00 UTC date.setUTCHours(12, 0, 00, 0); var start = JulianDate.fromDate(date); var end = start.addSeconds(95); // July 4, 2011 @ 12:01:35 UTC
-
clone
-
Duplicates this JulianDate.
Parameters:
Name Type Argument Description resultCartesian3 <optional>
The object onto which to store the JulianDate. Returns:
Cartesian3 The modified result parameter or a new Cartesian3 instance if one was not provided. -
equals
-
Returns
trueif this date is equivalent to the specified date.Parameters:
Name Type Description otherJulianDate The JulianDate to be compared. epsilonNumber The number of seconds that should separate the two JulianDates Returns:
Booleantrueif the two JulianDates are equal; otherwisefalse.Example
var original = JulianDate.fromDate(new Date('July 4, 2011 12:00:00')); var clone = JulianDate.fromDate(new Date('July 4, 2011 12:00:00')); original.equals(clone); // true -
equalsEpsilon
-
Returns
trueif this date is withinepsilonseconds of the specified date. That is, in order for the dates to be considered equal (and for this function to returntrue), the absolute value of the difference between them, in seconds, must be less thanepsilon.Parameters:
Name Type Description otherJulianDate The JulianDate to be compared. epsilonNumber The number of seconds that should separate the two JulianDates Throws:
DeveloperError : epsilon is required and must be number.Returns:
Booleantrueif the two JulianDates are withinepsilonseconds of each other; otherwisefalse.Example
var original = JulianDate.fromDate(new Date('July 4, 2011 12:00:00')); var clone = JulianDate.fromDate(new Date('July 4, 2011 12:00:01')); original.equalsEpsilon(clone, 2); // trueSee:
-
getJulianDayNumber
-
Returns the whole number component of the Julian date.
Returns:
Number A whole number representing the Julian day number. -
getJulianTimeFraction
-
Returns the floating point component of the Julian date representing the time of day.
Returns:
Number The floating point component of the Julian date representing the time of day. -
getMinutesDifference
-
Computes the number of minutes that have elapsed from this Julian date to the
otherJulian date.Parameters:
Name Type Description otherJulianDate The other Julian date, which is the end of the interval. Returns:
Number The number of seconds that have elpased from this Julian date to the other Julian date.Example
var start = JulianDate.fromDate(new Date('July 4, 2011 12:00:00')); var end = JulianDate.fromDate(new Date('July 5, 2011 12:01:00')); var difference = start.getMinutesDifference(end); // 1441.0 minutes -
getSecondsDifference
-
Computes the number of seconds that have elapsed from this Julian date to the
otherJulian date.Parameters:
Name Type Description otherJulianDate The other Julian date, which is the end of the interval. Returns:
Number The number of seconds that have elpased from this Julian date to the other Julian date.Example
var start = JulianDate.fromDate(new Date('July 4, 2011 12:00:00')); var end = JulianDate.fromDate(new Date('July 5, 2011 12:01:00')); var difference = start.getSecondsDifference(end); // 86460.0 seconds -
getSecondsOfDay
-
Return the number of seconds elapsed into the current Julian day (starting at noon).
Returns:
Number The number of seconds elapsed into the current day. -
getTaiMinusUtc
-
Returns the number of seconds this TAI date is ahead of UTC.
Returns:
Number The number of seconds this TAI date is ahead of UTCExample
var date = new Date('August 1, 2012 12:00:00 UTC'); var julianDate = JulianDate.fromDate(date); var difference = julianDate.getTaiMinusUtc(); //35See:
-
getTotalDays
-
Returns the total number of whole and fractional days represented by this astronomical Julian date.
Returns:
Number The Julian date as single floating point number. -
greaterThan
-
Returns true if
otheroccurs before this Julian date.Parameters:
Name Type Description otherJulianDate The Julian date to be compared. Returns:
Booleantrueif this JulianDate is chronologically later thanother; otherwise,false.Example
var start = JulianDate.fromDate(new Date('July 6, 1991 12:00:00')); var end = JulianDate.fromDate(new Date('July 6, 2011 12:01:00')); end.greaterThan(start); // true -
greaterThanOrEquals
-
Returns true if
otheroccurs at or before this Julian date.Parameters:
Name Type Description otherJulianDate The Julian date to be compared. Returns:
Booleantrueif this JulianDate is chronologically later than or equal toother; otherwise,false.Example
var start = JulianDate.fromDate(new Date('July 6, 1991 12:00:00')); var end = JulianDate.fromDate(new Date('July 6, 2011 12:00:00')); end.greaterThanOrEquals(start); // true -
lessThan
-
Returns true if
otheroccurs after this Julian date.Parameters:
Name Type Description otherJulianDate The Julian date to be compared. Returns:
Booleantrueif this JulianDate is chronologically earlier thanother; otherwise,false.Example
var start = JulianDate.fromDate(new Date('July 6, 1991 12:00:00')); var end = JulianDate.fromDate(new Date('July 6, 2011 12:01:00')); start.lessThan(end); // true -
lessThanOrEquals
-
Returns true if
otheroccurs at or after this Julian date.Parameters:
Name Type Description otherJulianDate The Julian date to be compared. Returns:
Booleantrueif this JulianDate is chronologically less than or equal toother; otherwise,false.Example
var start = JulianDate.fromDate(new Date('July 6, 1991 12:00:00')); var end = JulianDate.fromDate(new Date('July 6, 2011 12:00:00')); start.lessThanOrEquals(end); // true -
toDate
-
Creates a JavaScript Date representation of this date in UTC. Javascript dates are only accurate to the nearest millisecond.
Returns:
Date A new JavaScript Date equivalent to this Julian date. -
toGregorianDate
-
Creates a GregorianDate representation of this date in UTC.
Returns:
GregorianDate A gregorian date. -
toIso8601
-
Creates an ISO8601 string represenation of this Julian date in UTC.
Parameters:
Name Type Argument Description precisionNumber <optional>
The number of fractional digits used to represent the seconds component. By default, the most precise representation is used. Returns:
String An ISO8601 string represenation of this Julian date. -
<static> clone
-
Duplicates a JulianDate instance.
Parameters:
Name Type Argument Description dateCartesian3 The JulianDate to duplicate. resultCartesian3 <optional>
The object onto which to store the JulianDate. Throws:
DeveloperError : date is required.Returns:
Cartesian3 The modified result parameter or a new Cartesian3 instance if one was not provided. -
<static> compare
-
Compares two {JulianDate} instances.
Parameters:
Name Type Description aJulianDate The first instance. bJulianDate The second instance. Returns:
Number A negative value if a is less than b, a positive value if a is greater than b, and zero if a and b are equal. -
<static> fromDate
-
Creates a JulianDate instance from a JavaScript Date object. While the JavaScript Date object defaults to the system's local time zone, the Julian date is computed using the UTC values.
Parameters:
Name Type Argument Default Description dateDate The JavaScript Date object representing the time to be converted to a Julian date. timeStandardTimeStandard <optional>
TimeStandard.UTC Indicates the time standard in which this Julian date is represented. Throws:
DeveloperError : date must be a valid JavaScript Date.Returns:
JulianDate The new JulianDate instance.Example
// Construct a Julian date specifying the UTC time standard var date = new Date('January 1, 2011 12:00:00 EST'); var julianDate = JulianDate.fromDate(date, TimeStandard.UTC); -
<static> fromIso8601
-
Creates a JulianDate instance from an ISO 8601 date string. Unlike Date.parse, this method properly accounts for all valid formats defined by the ISO 8601 specification. It also properly handles leap seconds and sub-millisecond times.
Parameters:
Name Type Description iso8601StringString The ISO 8601 date string representing the time to be converted to a Julian date. Throws:
DeveloperError : Valid ISO 8601 date string required.Returns:
JulianDate The new JulianDate instance.Example
// Example 1. Construct a Julian date in UTC at April 24th, 2012 6:08PM UTC var julianDate = JulianDate.fromIso8601('2012-04-24T18:08Z'); // Example 2. Construct a Julian date in local time April 24th, 2012 12:00 AM var localDay = JulianDate.fromIso8601('2012-04-24'); // Example 3. Construct a Julian date 5 hours behind UTC April 24th, 2012 5:00 pm UTC var localDay = JulianDate.fromIso8601('2012-04-24T12:00-05:00'); -
<static> fromTotalDays
-
Creates a JulianDate instance from a single number representing the Julian day and fractional day.
Parameters:
Name Type Argument Default Description totalDaysNumber The combined Julian Day Number and fractional day. timeStandardTimeStandard <optional>
TimeStandard.UTC Indicates the time standard in which the first parameter is defined. Throws:
DeveloperError : totalDays is required.Returns:
JulianDate The new JulianDate instance.Example
// Construct a date which corresponds to January 1, 1991 06:00:00 UTC. var julianDate = JulianDate.fromTotalDays(2448257.75, TimeStandard.UTC);
