datevec
将日期时间转换为分量向量
语法
说明
注意
虽然您可以将日期和时间表示为日期向量,但建议您使用 datetime
值来表示时间点,使用 duration
或 calendarDuration
值来表示经过的时间。有关更新代码的详细信息,请参阅版本历史记录或Replace Discouraged Instances of Serial Date Numbers and Date Strings。
将 DateVector
= datevec(t
)datetime
和 duration
值 t
转换为日期向量(即数值向量),其六个元素表示 t
的年、月、日、小时、分钟和秒分量。
如果 t
是具有 m
个元素的 datetime
或 duration
数组,则 datevec
返回一个 m
×6 矩阵,其中每行对应于 t
中的一个值。
如果
t
是datetime
数组,则它的值表示时间点。DateVector
的每行都表示一个特定的日期时间。如果
t
是duration
数组,则它的值表示经过的时间。DateVector
的每行表示以固定长度时间单位测量的时间长度。因此,DateVector
的第二列中的值(表示月数)始终为零。有关详细信息,请参阅局限性。
可将表示日期和时间的文本转换为日期向量。如果已知文本中使用的格式,则将格式指定为 DateVector
= datevec(DateString
)formatIn
。不含 formatIn
的语法的执行速度远远慢于包含此项的语法执行速度。
使用 DateVector
= datevec(DateString
,formatIn
)formatIn
解析 DateString
所表示的日期时间。
使用 DateVector
= datevec(DateString
,PivotYear
)PivotYear
解析以两个字符指定年份的文本。如果已知文本中使用的格式,则将格式指定为 formatIn
。不含 formatIn
的语法的执行速度远远慢于包含此项的语法执行速度。
使用 DateVector
= datevec(DateString
,formatIn
,PivotYear
)formatIn
解析 DateString
所表示的日期时间,使用 PivotYear
解析以两个字符指定年份的文本。可以按任一顺序指定 formatIn
和 PivotYear
。
返回日期向量的分量作为单独的变量 [Y,M,D,H,MN,S]
= datevec(___)Y
、M
、D
、H
、MN
和 S
(分别代表年、月、日、时、分和秒)。datevec
函数返回毫秒作为秒 (S
) 输出的小数部分。
示例
输入参数
输出参量
局限性
如果第一个输入参量是
datetime
数组、数值数组或表示日期和时间的文本,则datevec
会在输出中将小于 1 的任何月份值设置为 1。小于 1 的日期值D
设置为上一个月最后一天的值减去 |D
|。但是,如果 0 ≤DateNumber
< 1,则datevec(DateNumber)
返回[0 0 0 H MN S]
格式的日期向量,其中H
、MN
和S
分别是时、分、秒。如果第一个输入参量是
duration
数组,则datevec
的输出不表示时间点,而是表示以固定长度时间单位测量的时间长度。输出矩阵的每一行都将持续时间表示为年、月、日、小时、分钟和秒,其总和是由输入duration
数组的对应元素表示的总时间长度。但是,月不能作为固定长度的时间单位,因为不同月份有不同天数。因此月数始终为零。在这种情况下,
datevec
将持续时间表示为年数(每年 365.2425 天)、天数(每天 86400 秒)以及小时、分钟和秒数,其总和为该持续时间。由此产生的另一个结果是天数可能大于 31。
提示
向量化调用语法可以为大型数组提供显著的性能改进。