/**
|
* Represents a Gregorian date in a more precise format than the JavaScript Date object.
|
* In addition to submillisecond precision, this object can also represent leap seconds.
|
* @alias GregorianDate
|
* @constructor
|
*
|
* @param {Number} [year] The year as a whole number.
|
* @param {Number} [month] The month as a whole number with range [1, 12].
|
* @param {Number} [day] The day of the month as a whole number starting at 1.
|
* @param {Number} [hour] The hour as a whole number with range [0, 23].
|
* @param {Number} [minute] The minute of the hour as a whole number with range [0, 59].
|
* @param {Number} [second] The second of the minute as a whole number with range [0, 60], with 60 representing a leap second.
|
* @param {Number} [millisecond] The millisecond of the second as a floating point number with range [0.0, 1000.0).
|
* @param {Boolean} [isLeapSecond] Whether this time is during a leap second.
|
*
|
* @see JulianDate#toGregorianDate
|
*/
|
function GregorianDate(
|
year,
|
month,
|
day,
|
hour,
|
minute,
|
second,
|
millisecond,
|
isLeapSecond
|
) {
|
/**
|
* Gets or sets the year as a whole number.
|
* @type {Number}
|
*/
|
this.year = year;
|
/**
|
* Gets or sets the month as a whole number with range [1, 12].
|
* @type {Number}
|
*/
|
this.month = month;
|
/**
|
* Gets or sets the day of the month as a whole number starting at 1.
|
* @type {Number}
|
*/
|
this.day = day;
|
/**
|
* Gets or sets the hour as a whole number with range [0, 23].
|
* @type {Number}
|
*/
|
this.hour = hour;
|
/**
|
* Gets or sets the minute of the hour as a whole number with range [0, 59].
|
* @type {Number}
|
*/
|
this.minute = minute;
|
/**
|
* Gets or sets the second of the minute as a whole number with range [0, 60], with 60 representing a leap second.
|
* @type {Number}
|
*/
|
this.second = second;
|
/**
|
* Gets or sets the millisecond of the second as a floating point number with range [0.0, 1000.0).
|
* @type {Number}
|
*/
|
this.millisecond = millisecond;
|
/**
|
* Gets or sets whether this time is during a leap second.
|
* @type {Boolean}
|
*/
|
this.isLeapSecond = isLeapSecond;
|
}
|
export default GregorianDate;
|