带你玩转matlab时间处理

1. datenum函数
函数功能:将日期和时间转换为日期序列值
DateNumber = datenum(Y,M,D)
t1= datenum(2000,01,01);
DateNumber = datenum(Y,M,D,H,MN,S)
t1= datenum(2000,01,01,00,00,00);
DateNumber = datenum(DateString,formatIn)
t1= datenum('01-Jan-2000','dd-mmm-yyyy');
t1=datenum('01-Jan-2000 00:00:00','dd-mmm-yyyy HH:MM:SS');
注意:返回的结果t1是自0000-00-00起算的累计天数
2. addtodate函数
函数功能:按字段修改日期数字
R = addtodate(D, Q, F)
t2= addtodate(t1,a,'year'); % t2=t1+ a年
t2= addtodate(t1,a,'month'); % t2=t1+ a月
t2= addtodate(t1,a,'day'); % t2=t1+ a日
t2= addtodate(t1,a,'hour'); % t2=t1+ a时
t2= addtodate(t1,a,'minute'); % t2=t1+ a分
t2= addtodate(t1,a,'sec'); % t2=t1+ a秒
注意:返回的结果t2以天为单位
3. datestr函数
函数功能:将日期和时间转换为字符串格式
DateString = datestr(DateVector)
t3= datestr([2000,01,01]);
t3= datestr([2000,01,01,00,00,01]);
DateString = datestr(DateNumber)
t3= datestr('2000-01-01','yyyy-mm-dd');
t3= datestr('2000-01-01 00:00:00','yyyy-mm-dd HH:MM:SS');
4. datetime函数
函数功能:表示时间点的数组
D=datetime(Y,MO,D)
t4=datetime([2000,01,01]);
D = datetime(Y,MO,D,H,MI,S)
t4=datetime([2000,01,01,0,0,0]);
D = datetime(DS,'InputFormat',INFMT)
t4=datetime('2000-01-01', 'InputFormat','yyyy-MM-dd');
注意:返回的结果t4是datetime格式
5. day函数
函数功能:持续时间,以天为单位
d = day(t,dayType)
t5=day(t4,'dayofyear'); %返回年积日
t5=day(t4,'name'); %以文字形式返回星期几
t5=day(t4,'dayofweek'); %以数字形式返回星期几
注意:周日计为第一天
实战1:
Question: 相对2000-01-01 00:00:00这一时间点,累计1000秒时对应的日期及年积日为?
Answer: 日期:’ 2000-01-01 00:16:40’,年积日:1
t1= datenum(2000,01,01,00,00,00);