日期时间数组

在MATLAB中,可以创建日期和时间数组并进行比较、计算和格式化显示。[大谦MATLAB,dqmatlab点com]

创建日期和时间数组

1.datetime函数

用datetime函数创建表示日期和时间的数组可以有多种方式。

不带参数时,datetime函数返回当前日期和时间。

【例2-50】当datetime函数

在命令窗口中输入:

code.matlab
T=datetime
T =
   2018-09-13 08:08:44

datetime函数的参数可以是表示日期时间的字符串向量,也可以指定显示格式。

【例2-51】使用datetime函数指定显示格式。

在命令窗口中输入:

code.matlab
T = datetime({'';''},'InputFormat','yyyy-MM-dd')
T =

也可以把年、月、日的值分别写成数组,然后用datetime函数创建日期时间数组。

【例2-52】使用datetime函数创建日期时间数组。

在命令窗口中输入:

code.matlab
Y = [2016;2017;2018];
M = 06;
D = [11;20;30];
T = datetime(Y,M,D)
T =


2.创建持续时间数组

用duration函数可以创建持续时间数组。

【例2-53】用duration函数创建持续时间数组。

在命令窗口中输入:

code.matlab
D=duration(6,10:13,5)
D =
   06:10:05   06:11:05   06:12:05   06:13:05

【例2-54】可以将数值矩阵数据转换为持续时间数组。

在命令窗口中输入:

code.matlab
X=[10 13 45;9 16 38];
D=duration(X)
D =
   10:13:45
   09:16:38

【例2-55】用years函数可以创建固定长度年的持续时间数组。

在命令窗口中输入:

code.matlab
X=[1 2 3;4 5 6];
Y=years(X)
Y =
   1年   2年   3年
   4年   5年   6年

创建固定长度持续时间数组的函数如表2-9所示。

表2-9 创建固定长度持续时间数组的函数

函 数 说 明
years 持续时间按年算
days 持续时间按天算
hours 持续时间按小时算
minutes 持续时间按分钟算
seconds 持续时间按秒算
milliseconds 持续时间按毫秒算

提取日期和时间

对于给定的日期时间数组,可以用函数从数组中提取出年份、月份、日期等时间单位。

【例2-56】用datetime函数获取当前日期和时间。

在命令窗口中输入:

code.matlab
T=datetime
T =
   2018-09-13 13:45:52

【例2-57】获取年份和小时数。

在命令窗口中输入:

code.matlab
Y=year(T)
Y =
        2018
H=hour(T)
H =
    13

按时间单位提取分量的函数如表2-10所示。

表2-10 按时间单位提取分量的函数

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

显示格式

默认时,MATLAB中的日期时间的显示格式为:dd-mm-yyyy hh:mm:ss。例如,12-Sep-2018 01:10:29表示2018年9月12日1点10分29秒。

【例2-58】用yyyymmdd函数可以将日期转换为yyyymmdd格式。

在命令窗口中输入:

code.matlab
T=datetime
T =
   2018-09-13 13:45:52
T2=yyyymmdd(T)
T2 =
    20180913

【例2-59】用exceltime函数可以将日期时间转换为Excel日期数字。Excel日期数字由自1900年1月0日 00:00:00 开始的整天数和小数天数组成。

在命令窗口中输入:

code.matlab
T3=exceltime(T)
T3 =
   4.3357e+04