datevec
将日期和时间转换为分量向量
语法
说明
注意
虽然您可以将日期和时间表示为日期向量,但建议您使用 datetime 值来表示时间点,使用 duration 或 calendarDuration 值来表示经过的时间。有关更新代码的详细信息,请参阅版本历史记录或Replace Discouraged Instances of Serial Date Numbers and Date Strings。
将输入数组转换为日期向量 - 即包含六个元素的数值行向量,这些元素分别表示输入日期和时间的年、月、日、时、分和秒分量。DateVector = datevec(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。
提示
向量化调用语法可以为大型数组提供显著的性能改进。