# JulianDate

#### new Cesium.JulianDate(julianDayNumber, secondsOfDay, timeStandard)
engine/Source/Core/JulianDate.js 205

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 | `0.0` | optional The Julian Day Number representing the number of whole days. Fractional days will also be handled correctly.
`secondsOfDay` | number | `0.0` | optional 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

#### static Cesium.JulianDate.leapSeconds : Array.<LeapSecond>
engine/Source/Core/JulianDate.js 1199

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

#### dayNumber : number
engine/Source/Core/JulianDate.js 210

Gets or sets the number of whole days.

#### secondsOfDay : number
engine/Source/Core/JulianDate.js 216

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

### Methods

#### static Cesium.JulianDate.addDays(julianDate, days, result) → JulianDate
engine/Source/Core/JulianDate.js 1090

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.

#### static Cesium.JulianDate.addHours(julianDate, hours, result) → JulianDate
engine/Source/Core/JulianDate.js 1064

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.

#### static Cesium.JulianDate.addMinutes(julianDate, minutes, result) → JulianDate
engine/Source/Core/JulianDate.js 1038

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.

#### static Cesium.JulianDate.addSeconds(julianDate, seconds, result) → JulianDate
engine/Source/Core/JulianDate.js 1010

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.

#### static Cesium.JulianDate.clone(julianDate, result) → JulianDate
engine/Source/Core/JulianDate.js 836

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.

#### static Cesium.JulianDate.compare(left, right) → number
engine/Source/Core/JulianDate.js 859

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.

#### static Cesium.JulianDate.computeTaiMinusUtc(julianDate) → number
engine/Source/Core/JulianDate.js 984

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

#### static Cesium.JulianDate.daysDifference(left, right) → number
engine/Source/Core/JulianDate.js 962

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`.

#### static Cesium.JulianDate.equals(left, right) → boolean
engine/Source/Core/JulianDate.js 883

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`.

#### static Cesium.JulianDate.equalsEpsilon(left, right, epsilon) → boolean
engine/Source/Core/JulianDate.js 904

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 | Default | Description
--- | --- | --- | ---
`left` | JulianDate |  | optional The first instance.
`right` | JulianDate |  | optional The second instance.
`epsilon` | number | `0` | optional 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`.

#### static Cesium.JulianDate.fromDate(date, result) → JulianDate
engine/Source/Core/JulianDate.js 277

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:

- DeveloperError : date must be a valid JavaScript Date.

#### static Cesium.JulianDate.fromGregorianDate(date, result) → JulianDate
engine/Source/Core/JulianDate.js 244

Creates a new instance from a GregorianDate.

Name | Type | Description
--- | --- | ---
`date` | GregorianDate | A GregorianDate.
`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:

- DeveloperError : date must be a valid GregorianDate.

#### static Cesium.JulianDate.fromIso8601(iso8601String, result) → JulianDate
engine/Source/Core/JulianDate.js 312

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:

- DeveloperError : Invalid ISO 8601 date.

#### static Cesium.JulianDate.greaterThan(left, right) → boolean
engine/Source/Core/JulianDate.js 1136

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.

#### static Cesium.JulianDate.greaterThanOrEquals(left, right) → boolean
engine/Source/Core/JulianDate.js 1147

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.

#### static Cesium.JulianDate.lessThan(left, right) → boolean
engine/Source/Core/JulianDate.js 1114

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.

#### static Cesium.JulianDate.lessThanOrEquals(left, right) → boolean
engine/Source/Core/JulianDate.js 1125

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.

#### static Cesium.JulianDate.now(result) → JulianDate
engine/Source/Core/JulianDate.js 614

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.

#### static Cesium.JulianDate.secondsDifference(left, right) → number
engine/Source/Core/JulianDate.js 940

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`.

#### static Cesium.JulianDate.toDate(julianDate) → Date
engine/Source/Core/JulianDate.js 718

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.

#### static Cesium.JulianDate.toGregorianDate(julianDate, result) → GregorianDate
engine/Source/Core/JulianDate.js 627

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.

#### static Cesium.JulianDate.toIso8601(julianDate, precision) → string
engine/Source/Core/JulianDate.js 750

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.

#### static Cesium.JulianDate.totalDays(julianDate) → number
engine/Source/Core/JulianDate.js 921

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
engine/Source/Core/JulianDate.js 1157

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
engine/Source/Core/JulianDate.js 1167

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
engine/Source/Core/JulianDate.js 1181

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 | Default | Description
--- | --- | --- | ---
`right` | JulianDate |  | optional The second instance.
`epsilon` | number | `0` | optional 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
engine/Source/Core/JulianDate.js 1190

Creates a string representing this date in ISO8601 format.

##### Returns:

A string representing this date in ISO8601 format.

Need help? The fastest way to get answers is from the community and team on the Cesium Forum.