JulianDate

new SuperMap3D.JulianDate(julianDayNumber, secondsOfDay, timeStandard)

表示julian,即从公元前4712年(4713年)1月1日中午开始的天数。 为了提高精度,该类将日期的整数部分和日期的秒部分存储在单独的组件中。为了保证算术安全并表示闰秒,日期总是存储在国际原子时间标准TimeStandard.TAI中。
Name Type Default Description
julianDayNumber Number 0.0 optional 代表整日数的julian日数。小数日也会被正确处理。
secondsOfDay Number 0.0 optional 当前julian日数的秒数。小数秒、负数秒和大于一天的秒都会被正确处理。
timeStandard TimeStandard TimeStandard.UTC optional 定义前两个参数的时间标准。

Members

staticSuperMap3D.JulianDate.leapSeconds : Array.<LeapSecond>

获取或设置 SuperMap3D 中使用的闰秒列表。

dayNumber : Number

获取或设置整日数。

secondsOfDay : Number

获取或设置当前日期的秒数。

Methods

staticSuperMap3D.JulianDate.addDays(julianDate, days, result)JulianDate

将提供的天数添加到提供的日期实例中。
Name Type Description
julianDate JulianDate 日期。
days Number 要添加或减少的天数。
result JulianDate 结果要使用的现有实例。
Returns:
修改后的结果参数。

staticSuperMap3D.JulianDate.addHours(julianDate, hours, result)JulianDate

将提供的小时数添加到提供的日期实例中。
Name Type Description
julianDate JulianDate 日期。
hours Number 要添加或减少的小时数。
result JulianDate 结果要使用的现有实例。
Returns:
修改后的结果参数。

staticSuperMap3D.JulianDate.addMinutes(julianDate, minutes, result)JulianDate

将提供的分钟数添加到提供的日期实例中。
Name Type Description
julianDate JulianDate 日期。
minutes Number 要添加或减少的分钟数。
result JulianDate 结果要使用的现有实例。
Returns:
修改后的结果参数。

staticSuperMap3D.JulianDate.addSeconds(julianDate, seconds, result)JulianDate

将提供的秒数添加到提供的日期实例中。
Name Type Description
julianDate JulianDate 日期。
seconds Number 要添加或减少的秒数。
result JulianDate 要用于结果的现有实例。
Returns:
修改后的结果参数。

staticSuperMap3D.JulianDate.clone(julianDate, result)JulianDate

复制一个JulianDate实例。
Name Type Description
julianDate JulianDate 复制的日期。
result JulianDate optional 要用于结果的现有实例。
Returns:
修改后的结果参数,如果没有提供,则为新实例。如果julianDate未定义则返回未定义。

staticSuperMap3D.JulianDate.compare(left, right)Number

比较两个实例。
Name Type Description
left JulianDate 第一个实例。
right JulianDate 第二个实例。
Returns:
如果左侧小于右侧,则为负值;如果左侧大于右侧,则为正值;如果左侧和右侧相等,则为零。

staticSuperMap3D.JulianDate.computeTaiMinusUtc(julianDate)Number

计算所提供实例比 UTC 提前的秒数。
Name Type Description
julianDate JulianDate 日期。
Returns:
所提供实例比 UTC 提前的秒数。

staticSuperMap3D.JulianDate.daysDifference(left, right)Number

计算所提供实例之间的天数差。
Name Type Description
left JulianDate 第一个实例。
right JulianDate 第二个实例。
Returns:
以天为单位,左侧减去右侧的差值。

staticSuperMap3D.JulianDate.equals(left, right)Boolean

比较两个实例,如果它们相等,则返回true,否则返回false
Name Type Description
left JulianDate optional 第一个实例。
right JulianDate optional 第二个实例。
Returns:
如果日期相等,则为 true;否则为 false

staticSuperMap3D.JulianDate.equalsEpsilon(left, right, 将两个实例分开的最大秒数。)Boolean

比较两个实例,如果它们彼此在epsilon秒内,返回true。 也就是说,为了使日期被认为是相等的(并且该函数返回true),它们之间的差值的绝对值(以秒为单位)必须小于epsilon
Name Type Description
left JulianDate optional 第一个实例。
right JulianDate optional 第二个实例。
将两个实例分开的最大秒数。 Number
Returns:
如果两个日期相差不超过ε秒,则为 true;否则为 false。

staticSuperMap3D.JulianDate.fromDate(date, result)JulianDate

根据 JavaScript Date 创建一个新实例。
Name Type Description
date Date JavaScript 日期
result JulianDate optional 用于结果的现有实例。
Returns:
修改后的结果参数,或一个新实例(如果没有提供)。
Throws:

staticSuperMap3D.JulianDate.fromGregorianDate(date, result)JulianDate

根据 GregorianDate 创建一个新实例。
Name Type Description
date GregorianDate 公历日期。
result JulianDate optional 用于结果的现有实例。
Returns:
修改后的结果参数,或一个新实例(如果没有提供)。
Throws:

staticSuperMap3D.JulianDate.fromIso8601(iso8601String, result)JulianDate

从日期为ISO 8601的日期创建一个新实例。此方法优于Date。parse,因为它将处理ISO 8601规范定义的所有有效格式,包括闰秒和亚毫秒时间,这是大多数JavaScript实现所丢弃的。
Name Type Description
iso8601String String ISO 8601日期。
result JulianDate optional 要用于结果的现有实例。
Returns:
修改后的结果参数,如果没有提供,则为新实例。
Throws:

staticSuperMap3D.JulianDate.greaterThan(left, right)Boolean

比较所提供的实例,如果left晚于right,则返回true,否则返回false。
Name Type Description
left JulianDate 第一个实例。
right JulianDate 第二个实例。
Returns:
如果left早于或晚于right,则为True,否则为false。

staticSuperMap3D.JulianDate.greaterThanOrEquals(left, right)Boolean

比较所提供的实例,如果left大于或等于right,则返回true,否则返回false。
Name Type Description
left JulianDate 第一个实例。
right JulianDate 第二个实例。
Returns:
如果left大于或等于right,则为True,否则为false。

staticSuperMap3D.JulianDate.lessThan(left, right)Boolean

比较提供的实例,如果 left 早于 right,则返回 true,否则返回 false。
Name Type Description
left JulianDate 第一个实例。
right JulianDate 第二个实例。
Returns:
如果left早于right,则为True,否则为false。

staticSuperMap3D.JulianDate.lessThanOrEquals(left, right)Boolean

比较提供的实例,如果 left 早于或等于 right,则返回 true,否则返回 false。
Name Type Description
left JulianDate 第一个实例。
right JulianDate 第二个实例。
Returns:
如果left早于或等于right,则为True,否则为false。

staticSuperMap3D.JulianDate.now(result)JulianDate

创建表示当前系统时间的新实例。这相当于调用JulianDate.fromDate(new Date());
Name Type Description
result JulianDate optional 要用于结果的现有实例。
Returns:
修改后的结果参数,如果没有提供,则为新实例。

staticSuperMap3D.JulianDate.secondsDifference(left, right)Number

计算所提供实例之间的秒差。
Name Type Description
left JulianDate 第一个实例。
right JulianDate 第二个实例。
Returns:
左减右时的差值(以秒为单位)。

staticSuperMap3D.JulianDate.toDate(julianDate)Date

从提供的实例创建一个JavaScript Date。 由于JavaScript日期只能精确到最近的毫秒,不能表示闰秒,因此可以考虑使用JulianDate。toGregorianDate。 如果提供的JulianDate在闰秒期间,则使用前一秒。
Name Type Description
julianDate JulianDate 要转换的日期。
Returns:
表示所提供日期的新实例。

staticSuperMap3D.JulianDate.toGregorianDate(julianDate, result)GregorianDate

从提供的实例创建一个GregorianDate
Name Type Description
julianDate JulianDate 要转换的日期。
result GregorianDate optional 要用于结果的现有实例。
Returns:
修改后的结果参数,如果没有提供,则为新实例。

staticSuperMap3D.JulianDate.toIso8601(julianDate, precision)String

创建所提供日期的ISO8601表示。
Name Type Description
julianDate JulianDate 要转换的日期。
precision Number optional 用于表示秒分量的小数位数。默认情况下,使用最精确的表示。
Returns:
所提供日期的ISO8601表示。

staticSuperMap3D.JulianDate.totalDays(julianDate)Number

计算所提供实例代表的整日和小数日总数。
Name Type Description
julianDate JulianDate 日期。
Returns:
单浮点数形式的Julian日期。

clone(result)JulianDate

复制此实例。
Name Type Description
result JulianDate optional 结果要使用的现有实例。
Returns:
修改后的结果参数,或一个新实例(如果没有提供)。

equals(right)Boolean

比较它和提供的实例,如果它们相等,则返回true,否则返回false
Name Type Description
right JulianDate optional 第二个实例。
Returns:
如果日期相等,则为 true;否则为 false。

equalsEpsilon(right, epsilon)Boolean

比较它和提供的实例,如果它们在epsilon秒内,则返回true。 也就是说,为了使日期被认为是相等的(并且该函数返回true),它们之间的差值的绝对值(以秒为单位)必须小于epsilon
Name Type Description
right JulianDate optional 第二个实例。
epsilon Number 两个实例之间的最大间隔秒数。
Returns:
如果两个日期相差不超过ε秒,则为 true;否则为 false。

toString()String

以 ISO8601 格式创建表示该日期的字符串。
Returns:
用 ISO8601 格式表示该日期的字符串。