JulianDate

new JulianDate(julianDayNumber, secondsOfDay, timeStandard)

Represents an astronomical Julian date, which 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.
Name Type Default Description
julianDayNumber Number The Julian Day Number representing the number of whole days. Fractional days will also be handled correctly.
secondsOfDay 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 TimeStandard.UTC optional The time standard in which the first two parameters are defined.

Members

staticJulianDate.leapSeconds :Array.<LeapSecond>

Gets or sets the list of leap seconds used throughout Cesium.

dayNumber :Number

Gets or sets the number of whole days.

secondsOfDay :Number

Gets or sets the number of seconds into the current day.

Methods

staticJulianDate.addDays(julianDate, days, result)JulianDate

Adds the provided number of days to the provided date instance.
Name Type Description
julianDate JulianDate The date.
days Number The number of days to add or subtract.
result JulianDate An existing instance to use for the result.
Returns:
The modified result parameter.

staticJulianDate.addHours(julianDate, hours, result)JulianDate

Adds the provided number of hours to the provided date instance.
Name Type Description
julianDate JulianDate The date.
hours Number The number of hours to add or subtract.
result JulianDate An existing instance to use for the result.
Returns:
The modified result parameter.

staticJulianDate.addMinutes(julianDate, minutes, result)JulianDate

Adds the provided number of minutes to the provided date instance.
Name Type Description
julianDate JulianDate The date.
minutes Number The number of minutes to add or subtract.
result JulianDate An existing instance to use for the result.
Returns:
The modified result parameter.

staticJulianDate.addSeconds(julianDate, seconds, result)JulianDate

Adds the provided number of seconds to the provided date instance.
Name Type Description
julianDate JulianDate The date.
seconds Number The number of seconds to add or subtract.
result JulianDate An existing instance to use for the result.
Returns:
The modified result parameter.

staticJulianDate.clone(julianDate, result)JulianDate

Duplicates a JulianDate instance.
Name Type Description
julianDate JulianDate The date to duplicate.
result JulianDate optional An existing instance to use for the result.
Returns:
The modified result parameter or a new instance if none was provided. Returns undefined if julianDate is undefined.

staticJulianDate.compare(left, right)Number

Compares two instances.
Name Type Description
left JulianDate The first instance.
right JulianDate The second instance.
Returns:
A negative value if left is less than right, a positive value if left is greater than right, or zero if left and right are equal.

staticJulianDate.computeTaiMinusUtc(julianDate)Number

Computes the number of seconds the provided instance is ahead of UTC.
Name Type Description
julianDate JulianDate The date.
Returns:
The number of seconds the provided instance is ahead of UTC

staticJulianDate.daysDifference(left, right)Number

Computes the difference in days between the provided instance.
Name Type Description
left JulianDate The first instance.
right JulianDate The second instance.
Returns:
The difference, in days, when subtracting right from left.

staticJulianDate.equals(left, right)Boolean

Compares two instances and returns true if they are equal, false otherwise.
Name Type Description
left JulianDate optional The first instance.
right JulianDate optional The second instance.
Returns:
true if the dates are equal; otherwise, false.

staticJulianDate.equalsEpsilon(left, right, epsilon)Boolean

Compares two instances and returns true if they are within epsilon seconds of each other. That is, in order for the dates to be considered equal (and for this function to return true), the absolute value of the difference between them, in seconds, must be less than epsilon.
Name Type Description
left JulianDate optional The first instance.
right JulianDate optional The second instance.
epsilon Number The maximum number of seconds that should separate the two instances.
Returns:
true if the two dates are within epsilon seconds of each other; otherwise false.

staticJulianDate.fromDate(date, result)JulianDate

Creates a new instance from a JavaScript Date.
Name Type Description
date Date A JavaScript Date.
result JulianDate optional An existing instance to use for the result.
Returns:
The modified result parameter or a new instance if none was provided.
Throws:

staticJulianDate.fromIso8601(iso8601String, result)JulianDate

Creates a new instance from a from an ISO 8601 date. This method is superior to Date.parse because it will handle all valid formats defined by the ISO 8601 specification, including leap seconds and sub-millisecond times, which discarded by most JavaScript implementations.
Name Type Description
iso8601String String An ISO 8601 date.
result JulianDate optional An existing instance to use for the result.
Returns:
The modified result parameter or a new instance if none was provided.
Throws:

staticJulianDate.greaterThan(left, right)Boolean

Compares the provided instances and returns true if left is later than right, false otherwise.
Name Type Description
left JulianDate The first instance.
right JulianDate The second instance.
Returns:
true if left is later than right, false otherwise.

staticJulianDate.greaterThanOrEquals(left, right)Boolean

Compares the provided instances and returns true if left is later than or equal to right, false otherwise.
Name Type Description
left JulianDate The first instance.
right JulianDate The second instance.
Returns:
true if left is later than or equal to right, false otherwise.

staticJulianDate.lessThan(left, right)Boolean

Compares the provided instances and returns true if left is earlier than right, false otherwise.
Name Type Description
left JulianDate The first instance.
right JulianDate The second instance.
Returns:
true if left is earlier than right, false otherwise.

staticJulianDate.lessThanOrEquals(left, right)Boolean

Compares the provided instances and returns true if left is earlier than or equal to right, false otherwise.
Name Type Description
left JulianDate The first instance.
right JulianDate The second instance.
Returns:
true if left is earlier than or equal to right, false otherwise.

staticJulianDate.now(result)JulianDate

Creates a new instance that represents the current system time. This is equivalent to calling JulianDate.fromDate(new Date());.
Name Type Description
result JulianDate optional An existing instance to use for the result.
Returns:
The modified result parameter or a new instance if none was provided.

staticJulianDate.secondsDifference(left, right)Number

Computes the difference in seconds between the provided instance.
Name Type Description
left JulianDate The first instance.
right JulianDate The second instance.
Returns:
The difference, in seconds, when subtracting right from left.

staticJulianDate.toDate(julianDate)Date

Creates a JavaScript Date from the provided instance. Since JavaScript dates are only accurate to the nearest millisecond and cannot represent a leap second, consider using JulianDate.toGregorianDate instead. If the provided JulianDate is during a leap second, the previous second is used.
Name Type Description
julianDate JulianDate The date to be converted.
Returns:
A new instance representing the provided date.

staticJulianDate.toGregorianDate(julianDate, result)GregorianDate

Creates a GregorianDate from the provided instance.
Name Type Description
julianDate JulianDate The date to be converted.
result GregorianDate optional An existing instance to use for the result.
Returns:
The modified result parameter or a new instance if none was provided.

staticJulianDate.toIso8601(julianDate, precision)String

Creates an ISO8601 representation of the provided date.
Name Type Description
julianDate JulianDate The date to be converted.
precision Number optional The number of fractional digits used to represent the seconds component. By default, the most precise representation is used.
Returns:
The ISO8601 representation of the provided date.

staticJulianDate.totalDays(julianDate)Number

Computes the total number of whole and fractional days represented by the provided instance.
Name Type Description
julianDate JulianDate The date.
Returns:
The Julian date as single floating point number.

clone(result)JulianDate

Duplicates this instance.
Name Type Description
result JulianDate optional An existing instance to use for the result.
Returns:
The modified result parameter or a new instance if none was provided.

equals(right)Boolean

Compares this and the provided instance and returns true if they are equal, false otherwise.
Name Type Description
right JulianDate optional The second instance.
Returns:
true if the dates are equal; otherwise, false.

equalsEpsilon(right, epsilon)Boolean

Compares this and the provided instance and returns true if they are within epsilon seconds of each other. That is, in order for the dates to be considered equal (and for this function to return true), the absolute value of the difference between them, in seconds, must be less than epsilon.
Name Type Description
right JulianDate optional The second instance.
epsilon Number The maximum number of seconds that should separate the two instances.
Returns:
true if the two dates are within epsilon seconds of each other; otherwise false.

toString()String

Creates a string representing this date in ISO8601 format.
Returns:
A string representing this date in ISO8601 format.