TimeIntervalCollection

按开始时间排序的TimeInterval实例的非重叠集合。
new TimeIntervalCollection(intervals)
Parameters:
intervals (Array.<TimeInterval>) 要添加到集合中的间隔数组。

Members

(readonly) changedEvent : Event

获取在间隔集合更改时引发的事件。

(readonly) isEmpty : Boolean

获取集合是否为空。

(readonly) isStartIncluded : Boolean

获取集合中是否包含开始时间。

(readonly) isStopIncluded : Boolean

获取集合中是否包含停止时间。

(readonly) length : Number

获取集合中的间隔数。

(readonly) start : JulianDate

获取集合的开始时间。

(readonly) stop : JulianDate

获取集合的停止时间。

Methods

(static) fromIso8601(options, result) → {TimeIntervalCollection}
ISO 8601时间间隔(开始/结束/持续时间)创建新实例。
Parameters:
options (Object)
Name Description
options.iso8601
String
ISO 8601间隔。
options.isStartIncluded
Boolean
default true
true如果间隔中包含开始时间,false否则。
options.isStopIncluded
Boolean
default true
true如果间隔中包含停止时间,则false否则。
options.leadingInterval
Boolean
default false
true如果要添加从iso8601.minimum_值到开始时间的间隔,false否则。
options.trailingInterval
Boolean
default false
true如果要将停止时间间隔添加到iso8601.maximum{value,则false否则。
options.dataCallback
function
一个函数,它将返回在添加到集合之前用每个间隔调用的数据。如果未指定,则数据将是集合中的索引。
result (TimeIntervalCollection) 要用于结果的现有实例。
(static) fromIso8601DateArray(options, result) → {TimeIntervalCollection}
ISO 8601日期数组创建新实例。
Parameters:
options (Object)
Name Description
options.iso8601Dates
Array.<String>
ISO 8601日期数组。
options.isStartIncluded
Boolean
default true
true如果间隔中包含开始时间,false否则。
options.isStopIncluded
Boolean
default true
true如果间隔中包含停止时间,则false否则。
options.leadingInterval
Boolean
default false
true如果要添加从iso8601.minimum_值到开始时间的间隔,false否则。
options.trailingInterval
Boolean
default false
true如果要将停止时间间隔添加到iso8601.maximum{value,则false否则。
options.dataCallback
function
一个函数,它将返回在添加到集合之前用每个间隔调用的数据。如果未指定,则数据将是集合中的索引。
result (TimeIntervalCollection) 要用于结果的现有实例。
(static) fromIso8601DurationArray(options, result) → {TimeIntervalCollection}
ISO 8601持续时间数组创建新实例。
Parameters:
options (Object)
Name Description
options.epoch
JulianDate
持续时间相对于的日期。
options.iso8601Durations
String
ISO 8601持续时间的数组。
options.relativeToPrevious
Boolean
default false
true如果持续时间相对于前一个日期,false如果总是相对于时代。
options.isStartIncluded
Boolean
default true
true如果间隔中包含开始时间,false否则。
options.isStopIncluded
Boolean
default true
true如果间隔中包含停止时间,则false否则。
options.leadingInterval
Boolean
default false
true如果要添加从iso8601.minimum_值到开始时间的间隔,false否则。
options.trailingInterval
Boolean
default false
true如果要将停止时间间隔添加到iso8601.maximum{value,则false否则。
options.dataCallback
function
一个函数,它将返回在添加到集合之前用每个间隔调用的数据。如果未指定,则数据将是集合中的索引。
result (TimeIntervalCollection) 要用于结果的现有实例。
(static) fromJulianDateArray(options, result) → {TimeIntervalCollection}
从Juliandate数组创建新实例。
Parameters:
options (Object)
Name Description
options.julianDates
Array.<JulianDate>
ISO 8601日期数组。
options.isStartIncluded
Boolean
default true
true如果间隔中包含开始时间,false否则。
options.isStopIncluded
Boolean
default true
true如果间隔中包含停止时间,则false否则。
options.leadingInterval
Boolean
default false
true如果要添加从iso8601.minimum_值到开始时间的间隔,false否则。
options.trailingInterval
Boolean
default false
true如果要将停止时间间隔添加到iso8601.maximum{value,则false否则。
options.dataCallback
function
一个函数,它将返回在添加到集合之前用每个间隔调用的数据。如果未指定,则数据将是集合中的索引。
result (TimeIntervalCollection) 要用于结果的现有实例。
addInterval(interval, dataComparer)
向集合中添加间隔,合并包含相同数据的间隔,并根据需要拆分不同数据的间隔,以维护不重叠的集合。新间隔中的数据优先于集合中的任何现有间隔。
Parameters:
interval (TimeInterval) 要添加的间隔。
dataComparer (TimeInterval~DataComparer) 比较两个间隔的数据的函数。如果省略,则使用引用等式。
contains(julianDate) → {Boolean}
检查指定的日期是否在此集合中。
Parameters:
julianDate (JulianDate) 要检查的日期。
equals(right, dataComparer) → {Boolean}
将此实例与提供的实例组件进行比较,如果相等,则返回true,否则返回false
Parameters:
right (TimeIntervalCollection) 右侧收藏。
dataComparer (TimeInterval~DataComparer) 比较两个间隔的数据的函数。如果省略,则使用引用等式。
findDataForIntervalContainingDate(date) → {Object}
查找并返回包含指定日期的间隔的数据。
Parameters:
date (JulianDate) 要搜索的日期。
findInterval(options) → {TimeInterval}
返回集合中与指定参数匹配的第一个间隔。所有参数都是可选的,undefined参数被视为“不关心”条件。
Parameters:
options (Object)
Name Description
options.start
JulianDate
间隔的开始时间。
options.stop
JulianDate
间隔的停止时间。
options.isStartIncluded
Boolean
true如果间隔中包含options.start,则false否则。
options.isStopIncluded
Boolean
true如果间隔中包含options.stop,则false否则。
findIntervalContainingDate(date) → {TimeInterval|undefined}
查找并返回包含指定日期的间隔。
Parameters:
date (JulianDate) 要搜索的日期。
get(index) → {TimeInterval}
获取指定索引处的间隔。
Parameters:
index (Number) 要检索的间隔的索引。
indexOf(date) → {Number}
查找并返回集合中包含指定日期的间隔的索引。
Parameters:
date (JulianDate) 要搜索的日期。
intersect(other, dataComparer, mergeCallback) → {TimeIntervalCollection}
创建一个新实例,该实例是此集合与提供的集合的交集。
Parameters:
other (TimeIntervalCollection) 要与之相交的集合。
dataComparer (TimeInterval~DataComparer) 比较两个间隔的数据的函数。如果省略,则使用引用等式。
mergeCallback (TimeInterval~MergeCallback) 合并两个区间的数据的函数。如果省略,将使用左间隔中的数据。
removeAll()
从集合中删除所有间隔。
removeInterval(interval) → {Boolean}
从该间隔集合中删除指定间隔,在指定间隔上创建一个孔。输入间隔的数据属性被忽略。
Parameters:
interval (TimeInterval) 要删除的间隔。