Matlab自学笔记四十六:与日期向量、序列日期值、日期字符向量的转换
1.概念
(1)日期向量是1乘6的双精度数值型向量,按年月日时分秒顺序排列,以24小时制表示。例如,[2018 10 10 10 10 10];
(2)序列日期值用日历日期表示自0000年1月1日以来经过的天数。例如,'01-01-2018, 6:00 PM'的序列日期值是737061.75;
(3)日期向量和序列日期值都是double型向量或值,日期字符向量是字符型向量;
2.认识函数
转成日期向量使用函数datevec,转成序列日期值使用函数datenum,转成字符向量使用函数datestr;
3.与日期向量(双精度数值向量)的转换
程序示例如下:
a=[2018 02 05 20 36 12] %这样的向量就可以看做一个日期向量,1*6顺序排列表示:年月日时分秒
t=datetime(a)
v=datevec(t) %时间型转成数值型日期向量的函数
运行结果:
a =
2018 2 5 20 36 12
t =
datetime
2018-02-05 20:36:12
v =
2018 2 5 20 36 12
4.与序列日期值(双精度数值)的转换
程序示例如下:
def=737061.75 %一个双精度数值就可以看做一个序列日期值
datenum('01-01-2018, 6:00 PM') %转成序列日期值的函数
t=datetime(737061.75,'ConvertFrom','datenum')
运行结果:
def =
7.3706e+05
ans =
7.3706e+05
t =
datetime
2018-01-01 18:00:00
5.与日期字符向量的转换
'2018-04-07 16:01:17' %这样的字符向量就可以看做一个日期字符向量,本质就是字符向量,程序示例如下:
t1=datetime('now')
char(t1) %按照字面不变,把日期型转成字符型
datestr(t1) %把日期时间型转换成字符向量,与char的区别,可以设置格式,可以转换其他日期型数据,例如日期向量、序列日期值等
datestr(t1,'yyyy-mm-dd HH:MM:ss.FFF AM')
datestr(737061.75) %与序列日期值转换
运行结果:
t1 =
datetime
2025-02-09 10:54:20
ans =
'2025-02-09 10:54:20'
ans =
'09-Feb-2025 10:54:20'
ans =
'2025-02-09 10:54:20.996 AM'
ans =
'01-Jan-2018 18:00:00'
6. 24小时制与12小时制的转换
datestr('18:30','HH:MM PM') %把24小时制转换成12小时制
datestr('06:30 PM','HH:MM') %把12小时制转换成24小时制
运行结果:
ans =
' 6:30 PM'
ans =
'18:30'
相关内容推荐
26.5 SVM支持向量机,核函数Kernel和核变换,Matlab编程实例
37.15 Matlab app多功能图像函数演示界面,Appdesigner工具栏的用法,多个图像绘图回调函数的原理和应用
24.1 一节入门K近邻算法附Matlab编程示例
38.7 论文复现:图表数据提取及公式拟合
14.3/Matlab解二阶微分方程编程实例
66.15/Matlab有点飘:未定义函数或变量/函数或变量无法识别
End