isbetween
确定位于日期时间区间内的元素
说明
tf = isbetween(
返回一个包含逻辑值 t
,tlower
,tupper
)1
(true) 的数组,其中逻辑值 1 表示 t
中对应元素是位于 tlower
和 tupper
的对应元素指定的闭区间内的 datetime
或 duration
值。输出 tf
指示 t
的哪些元素满足以下条件:
tlower <= t & t <= tupper
t
、tlower
和 tupper
的大小必须相同或兼容。如果输入数组的大小兼容,则数组会隐式扩展以相互匹配。例如,如果 t
、tlower
或 tupper
之一是标量,则该标量与其他数组的每个元素进行比较。此外,具有不同方向的向量(行向量和列向量)会隐式扩展以形成矩阵。
tf = isbetween(
确定 t
,tlower
,tupper
,intervalType
)t
的元素是否在 intervalType
指定的区间类型内。例如,如果 intervalType
是 'open'
,则 isbetween
确定 t
的哪些元素满足条件 tlower < t & t < tupper
。
示例
确定日期是否位于区间内
指定日期的下界和上界。
tlower = datetime(2021,05,16)
tlower = datetime
16-May-2021
tupper = "2021-05-23"
tupper = "2021-05-23"
tlower
和 tupper
可以是 datetime
数组、duration
数组、字符串或字符向量。此处,tlower
是 datetime
数组,tupper
是字符串标量。
创建一个由 datetime
值组成的数组。您可以从一个 datetime
值 tlower
开始,并使用 caldays
函数为其加上一个日历天数的数组。结果将得到一个由 datetime
值组成的数组,各值之间间隔两天。
t = tlower + caldays(2:2:10)
t = 1x5 datetime
18-May-2021 20-May-2021 22-May-2021 24-May-2021 26-May-2021
确定哪些 datetime
值位于由 tlower
和 tupper
界定的闭区间内。
tf = isbetween(t,tlower,tupper)
tf = 1x5 logical array
1 1 1 0 0
要显示该区间内的日期,请使用 tf
作为逻辑索引对 t
进行索引。
t(tf)
ans = 1x3 datetime
18-May-2021 20-May-2021 22-May-2021
时间区间内的时间
使用 seconds
指定区间测试 duration
值的上界和下界。seconds
函数将指定的秒数转换为一个 duration
数组,该数组格式化为以秒为单位显示经过的时间。
tlower = seconds(3)
tlower = duration
3 sec
tupper = seconds(9)
tupper = duration
9 sec
创建一个由 duration
值组成的数组。
t = seconds(1:10)
t = 1x10 duration
1 sec 2 sec 3 sec 4 sec 5 sec 6 sec 7 sec 8 sec 9 sec 10 sec
确定 t
的哪些元素在该区间内。然后展示它们。
tf = isbetween(t,tlower,tupper); t(tf)
ans = 1x7 duration
3 sec 4 sec 5 sec 6 sec 7 sec 8 sec 9 sec
开区间和半开区间内的日期
指定一个区间测试日期的上界和下界。
tlower = datetime(2021,5,16)
tlower = datetime
16-May-2021
tupper = datetime(2021,5,23)
tupper = datetime
23-May-2021
创建一个由 datetime
值组成的数组,其中第一个元素等于 tlower
。
t = tlower + caldays(0:2:8)
t = 1x5 datetime
16-May-2021 18-May-2021 20-May-2021 22-May-2021 24-May-2021
确定哪些日期出现在开区间 tlower < t & t < tupper
内。
tf = isbetween(t,tlower,tupper,'open')
tf = 1x5 logical array
0 1 1 1 0
要显示该开区间内的日期,请使用 tf
作为逻辑索引对 t
进行索引。
t(tf)
ans = 1x3 datetime
18-May-2021 20-May-2021 22-May-2021
确定哪些日期出现在半开区间 tlower <= t & t < tupper
内。显示日期。
tf = isbetween(t,tlower,tupper,'openright');
t(tf)
ans = 1x4 datetime
16-May-2021 18-May-2021 20-May-2021 22-May-2021
输入参数
t
— 日期时间输入
datetime
数组 | duration
数组 | 字符向量 | 字符向量元胞数组 | 字符串数组
日期时间输入,指定为 datetime
数组、duration
数组、字符向量、字符向量元胞数组或字符串数组。必须对字符向量和字符串进行格式化以表示日期时间。
tlower
— 日期时间间隔的下界
datetime
数组 | duration
数组 | 字符向量 | 字符向量元胞数组 | 字符串数组
日期时间间隔的下界,指定为 datetime
数组、duration
数组、字符向量、字符向量元胞数组或字符串数组。必须对字符向量和字符串进行格式化以表示日期时间。
tupper
— 日期时间区间的上界
datetime
数组 | duration
数组 | 字符向量 | 字符向量元胞数组 | 字符串数组
日期时间区间的上界,指定为 datetime
数组、duration
数组、字符向量、字符向量元胞数组或字符串数组。必须对字符向量和字符串进行格式化以表示日期时间。
intervalType
— 时间范围区间的类型
'closed'
(默认) | 'open'
| 'openleft'
| 'openright'
| 'closedright'
| 'closedleft'
时间范围区间的类型,指定为 'open'
、'closed'
、'openleft'
、'openright'
、'closedright'
或 'closedleft'
。下表说明时间范围区间的类型。
区间类型 | 描述 |
---|---|
| 选择满足开区间 |
| 选择满足闭区间 |
| 选择满足半开区间 |
| 选择满足半开区间 |
| 等效于 |
| 等效于 |
扩展功能
tall 数组
对行数太多而无法放入内存的数组进行计算。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
分布式数组
使用 Parallel Computing Toolbox™ 在集群的组合内存中对大型数组进行分区。
此函数完全支持分布式数组。有关详细信息,请参阅Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox)。
版本历史记录
在 R2014b 中推出R2020b: 隐式扩展更改会影响 datetime
和 duration
数组
从 R2020b 开始,当参量为 datetime
或 duration
数组时,isbetween
支持隐式扩展。在 R2020a 和 R2016b 之间,仅数值和字符串数据类型支持隐式扩展。
另请参阅
ismember
| le
| gt
| lt
| ge
| datetime
| duration
| seconds
| caldays
| containsrange
| overlapsrange
| withinrange
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)