本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

日期和时间

可使用不同格式显示的日期和时间值数组

日期和时间数据类型 datetimedurationcalendarDuration 支持高效的日期和时间计算、比较以及格式化显示方式。这些数组的处理方式与数值数组的处理方式相同。可以对日期和时间值执行加法、减法、排序、比较、串联和绘图等操作。还可以将日期和时间以数值数组或文本形式表示。有关详细信息,请参阅表示 MATLAB 中的日期和时间或观看日期和时间数组

函数

全部展开

创建日期时间数组

datetime表示时间点的数组
NaT非时间 (Not-a-Time)

创建持续时间数组

years持续时间(以年为单位)
days持续时间,以天为单位
hours持续时间(以小时为单位)
minutes以分钟为单位的持续时间
seconds以秒为单位的持续时间
milliseconds以毫秒为单位的持续时间
duration固定长度单位的时间长度

创建 calendarDuration 数组

calyears日历持续时间(以年为单位)
calquarters日历持续时间(以季度为单位)
calmonths日历持续时间(以月为单位)
calweeks日历持续时间(以周为单位)
caldays日历持续时间(以天为单位)
calendarDuration以可变长度日历单位表示的时间长度

按时间单位提取分量

year年份数
quarter季度数
month月份数和名称
week周数
day日期数字或名称
hour小时数
minute分钟数
second秒值

拆分成数值数组

ymd日期时间的年、月和日数字
hms日期时间或持续时间的小时、分钟和秒数
split将日历持续时间拆分为数值和持续时间单位
time将日历持续时间的时间转换为持续时间
timeofday自日期时间值午夜以来经过的时间
isdatetime确定输入是否为日期时间数组
isduration确定输入是否为持续时间数组
iscalendarduration确定输入是否为日历持续时间数组
isnat确定 NaT(非时间)元素
isdst确定夏令时元素
isweekend确定周末元素
timezones列出时区
tzoffset相对于 UTC 的时区偏移量
between日历数学差分
caldiff日历数学连续差分
dateshift推移日期或生成日期与时间序列
isbetween确定位于日期和时间间隔内的元素

转换为数字

datenum将日期和时间转换为日期序列值
datevec将日期和时间转换为分量向量
exceltimeMATLAB 日期时间转换为 Excel 日期数字
juliandateMATLAB 日期时间转换为儒略日期
posixtimeMATLAB 日期时间转换为 POSIX 时间
yyyymmddMATLAB 日期时间转换为 YYYYMMDD 数值
addtodate按字段修改日期数字

转换为字符串

char字符数组
string字符串数组
datestr将日期和时间转换为字符串格式

以数字或字符串形式返回当前日期和时间

now当前日期和时间作为日期序列值
clock日期向量形式的当前日期和时间
date当前日期作为字符向量

日历周或月的第几天

calendar指定的月份的日
eomday一个月中的最后一天
weekday星期几

以数字形式返回经过的时间

etime日期向量之间流逝的时间

主题

表示 MATLAB 中的日期和时间

使用 datetime 数组来存储日期和时间信息。这些数组支持算术运算、排序、比较、绘图和格式化显示。

比较日期和时间

可以使用 >< 等关系运算符对两个 datetime 数组或两个 duration 数组中的值执行逐元素比较。

设置日期和时间显示格式

datetimedurationcalendarDuration 数组的 Format 属性用于控制每个数组中的值的显示方式。您可以更改此属性的值。更改 Format 属性并不会更改数组中的值,它只会更改其显示方式。

指定时区

当您创建一个日期时间时,默认情况下是未设置时区的。如果您处理多个时区的日期时间值或需要考虑夏令时,则可能需要指定一个时区。

在不同区域设置之间共享代码和数据

与其他区域设置中的 MATLAB® 用户共享用于处理日期和时间的代码时,请遵循以下最佳做法。写入和读取其他区域设置中的日期。

支持日期和时间数组的核心函数

MATLAB 中的许多函数在处理日期和时间数组时与处理其他数组并无不同。

疑难解答

日期向量和字符串结转

如果某元素不在常规范围内,则 MATLAB 会同时调整该日期向量元素及其前面的元素。

转换日期向量返回意外输出

由于日期向量是一个 1x6 的数值向量,因此 datestr 可能会将您的输入日期向量解释为日期序列值向量(反之亦然),并返回异常输出。