由开始和停止时间定义的时间间隔; (可选)将这些时间包括在间隔中。可选地,可以将任意数据与每个实例关联,以便与
TimeIntervalCollection
一起使用。
Name | Type | Description | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options
|
Object |
可选
具有以下属性的对象:
|
Examples:
// Create an instance that spans August 1st, 1980 and is associated
// with a Cartesian position.
var timeInterval = new LSGlobe.TimeInterval({
start : LSGlobe.JulianDate.fromIso8601('1980-08-01T00:00:00Z'),
stop : LSGlobe.JulianDate.fromIso8601('1980-08-02T00:00:00Z'),
isStartIncluded : true,
isStopIncluded : false,
data : LSGlobe.Cartesian3.fromDegrees(39.921037, -75.170082)
});
// Create two instances from ISO 8601 intervals with associated numeric data
// then compute their intersection, summing the data they contain.
var left = LSGlobe.TimeInterval.fromIso8601({
iso8601 : '2000/2010',
data : 2
});
var right = LSGlobe.TimeInterval.fromIso8601({
iso8601 : '1995/2005',
data : 3
});
//The result of the below intersection will be an interval equivalent to
//var intersection = LSGlobe.TimeInterval.fromIso8601({
// iso8601 : '2000/2005',
// data : 5
//});
var intersection = new LSGlobe.TimeInterval();
LSGlobe.TimeInterval.intersect(left, right, intersection, function(leftData, rightData) {
return leftData + rightData;
});
// Check if an interval contains a specific time.
var dateToCheck = LSGlobe.JulianDate.fromIso8601('1982-09-08T11:30:00Z');
var containsDate = LSGlobe.TimeInterval.contains(timeInterval, dateToCheck);
Members
static constant LSGlobe.TimeInterval.EMPTY : TimeInterval
一个不变的空间隔。
获取或设置与此时间间隔关联的数据。
获取此时间间隔是否为空。
获取或设置此时间间隔中是否包括开始时间。
-
Default Value:
true
获取或设置此时间间隔中是否包括停止时间。
-
Default Value:
true
start : JulianDate
获取或设置此间隔的开始时间。
获取或设置此间隔的停止时间。
Methods
static LSGlobe.TimeInterval.clone ( timeInterval , result ) → TimeInterval
复制提供的实例。
Name | Type | Description |
---|---|---|
timeInterval
|
TimeInterval | 可选 要克隆的实例。 |
result
|
TimeInterval | 可选 用于结果的现有实例。 |
Returns:
修改后的结果参数或新实例(如果未提供)。
检查指定的日期是否在提供的间隔内。
Name | Type | Description |
---|---|---|
timeInterval
|
TimeInterval | 时间间隔。 |
julianDate
|
JulianDate | 检查日期。 |
Returns:
真正
如果间隔包含指定的日期,
假
除此以外。
比较两个实例,如果相等则返回
true
,否则返回
false
。
Name | Type | Description |
---|---|---|
left
|
TimeInterval | 可选 一审。 |
right
|
TimeInterval | 可选 第二个实例。 |
dataComparer
|
TimeInterval.DataComparer | 可选 比较两个间隔的数据的功能。如果省略,则使用引用相等。 |
Returns:
真正
如果日期相等;除此以外,
假
。
比较两个实例,如果它们在
epsilon
秒内,则返回
true
彼此。也就是说,为了使日期被认为相等(并且对于此函数返回
true
),它们之间的差的绝对值,在秒,必须小于
epsilon
。
Name | Type | Default | Description |
---|---|---|---|
left
|
TimeInterval | 可选 一审。 | |
right
|
TimeInterval | 可选 第二个实例。 | |
epsilon
|
Number |
0
|
可选 应该将两个实例分开的最大秒数。 |
dataComparer
|
TimeInterval.DataComparer | 可选 比较两个间隔的数据的功能。如果省略,则使用引用相等。 |
Returns:
真正
如果两个日期都在
ε
彼此的秒数;除此以外
假
。
static LSGlobe.TimeInterval.fromIso8601 (options, result ) → TimeInterval
从
ISO 8601
间隔创建一个新实例。
Name | Type | Description | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options
|
Object |
具有以下属性的对象:
|
||||||||||||||||||||
result
|
TimeInterval | 可选 用于结果的现有实例。 |
Returns:
修改后的结果参数或新实例(如果未提供)。
Throws:
-
如果options.iso8601与正确的格式不匹配,则发生DeveloperError。
static LSGlobe.TimeInterval.intersect (left, right , result , mergeCallback ) → TimeInterval
计算两个间隔的交点,可以选择合并它们的数据。
Name | Type | Description |
---|---|---|
left
|
TimeInterval | 第一个间隔。 |
right
|
TimeInterval | 可选 第二个间隔。 |
result
|
TimeInterval | 可选 用于结果的现有实例。 |
mergeCallback
|
TimeInterval.MergeCallback | 可选 合并两个间隔数据的功能。如果省略,将使用左间隔的数据。 |
Returns:
修改后的结果参数。
创建提供的间隔的ISO8601表示形式。
Name | Type | Description |
---|---|---|
timeInterval
|
TimeInterval | 要转换的间隔。 |
precision
|
Number | 可选 用于表示秒分量的小数位数。默认情况下,使用最精确的表示形式。 |
Returns:
提供的间隔的ISO8601表示形式。
clone ( result ) → TimeInterval
复制此实例。
Name | Type | Description |
---|---|---|
result
|
TimeInterval | 可选 用于结果的现有实例。 |
Returns:
修改后的结果参数或新实例(如果未提供)。
将此实例与提供的实例进行组件比较,然后返回如果相等,则为
true
,否则为
false
。
Name | Type | Description |
---|---|---|
right
|
TimeInterval | 可选 右侧间隔。 |
dataComparer
|
TimeInterval.DataComparer | 可选 比较两个间隔的数据的功能。如果省略,则使用引用相等。 |
Returns:
真正
如果相等,
假
除此以外。
将此实例与提供的实例进行组件比较,然后返回
true
(如果它们在提供的epsilon内),否则为
false
。
Name | Type | Default | Description |
---|---|---|---|
right
|
TimeInterval | 可选 右侧间隔。 | |
epsilon
|
Number |
0
|
可选 用于相等性测试的epsilon。 |
dataComparer
|
TimeInterval.DataComparer | 可选 比较两个间隔的数据的功能。如果省略,则使用引用相等。 |
Returns:
真正
如果它们在提供的epsilon中,
假
除此以外。
创建一个以ISO8601格式表示此TimeInterval的字符串。
Returns:
以ISO8601格式表示此TimeInterval的字符串。
Type Definitions
比较间隔数据的功能接口。
Name | Type | Description |
---|---|---|
leftData
|
* | 第一个数据实例。 |
rightData
|
* | 第二个数据实例。 |
Returns:
真正
如果提供的实例相等,
假
除此以外。
合并间隔数据的功能接口。
Name | Type | Description |
---|---|---|
leftData
|
* | 第一个数据实例。 |
rightData
|
* | 第二个数据实例。 |
Returns:
合并两个数据实例的结果。