在MATLAB中,可以创建日期和时间数组并进行比较、计算和格式化显示。[大谦MATLAB,dqmatlab点com]
创建日期和时间数组
1.datetime函数
用datetime函数创建表示日期和时间的数组可以有多种方式。
不带参数时,datetime函数返回当前日期和时间。
【例2-50】当datetime函数
在命令窗口中输入:
T=datetime
T =
2018-09-13 08:08:44
datetime函数的参数可以是表示日期时间的字符串向量,也可以指定显示格式。
【例2-51】使用datetime函数指定显示格式。
在命令窗口中输入:
T = datetime({'';''},'InputFormat','yyyy-MM-dd')
T =
也可以把年、月、日的值分别写成数组,然后用datetime函数创建日期时间数组。
【例2-52】使用datetime函数创建日期时间数组。
在命令窗口中输入:
Y = [2016;2017;2018];
M = 06;
D = [11;20;30];
T = datetime(Y,M,D)
T =
2.创建持续时间数组
用duration函数可以创建持续时间数组。
【例2-53】用duration函数创建持续时间数组。
在命令窗口中输入:
D=duration(6,10:13,5)
D =
06:10:05 06:11:05 06:12:05 06:13:05
【例2-54】可以将数值矩阵数据转换为持续时间数组。
在命令窗口中输入:
X=[10 13 45;9 16 38];
D=duration(X)
D =
10:13:45
09:16:38
【例2-55】用years函数可以创建固定长度年的持续时间数组。
在命令窗口中输入:
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函数获取当前日期和时间。
在命令窗口中输入:
T=datetime
T =
2018-09-13 13:45:52
【例2-57】获取年份和小时数。
在命令窗口中输入:
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格式。
在命令窗口中输入:
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 开始的整天数和小数天数组成。
在命令窗口中输入:
T3=exceltime(T)
T3 =
4.3357e+04