MATLAB常用日期和时间函数
摘自 EmanLee
https://www.cnblogs.com/emanlee/archive/2011/12/19/2293234.html
在MATLAB中得到系统当前日期、时间也是经常用到的内容,由以下函数实现。
1.生成指定格式日期和时间
datestr-生成指定格式日期和时间,是字符型变量。
>> datestr(now) %其中now是获取当前日期和时间
ans =
30-Dec-2009 16:05:16
其中输出格式可由用户指定,共有31种格式,以下是第26种格式,其它格式见下表。
>> datestr(now,26)
ans =
2009/12/30
Standard MATLAB Date format definitions
Number | String | Example |
0 | 'dd-mmm-yyyy HH:MM:SS' | 01-Mar-2000 15:45:17 |
1 | 'dd-mmm-yyyy' | 01-Mar-2000 |
2 | 'mm/dd/yy' | 03/01/00 |
3 | 'mmm' | Mar |
4 | 'm' | M |
5 | 'mm' | 03 |
6 | 'mm/dd' | 03/01 |
7 | 'dd' | 01 |
8 | 'ddd' | Wed |
9 | 'd' | W |
10 | 'yyyy' | 2000 |
11 | 'yy' | 00 |
12 | 'mmmyy' | Mar00 |
13 | 'HH:MM:SS' | 15:45:17 |
14 | 'HH:MM:SS PM' | 3:45:17PM |
15 | 'HH:MM' | 15:45 |
16 | 'HH:MM | PM'3:45PM |
17 | 'QQ-YY' | Q1-96 |
18 | 'QQ' | Q1 |
19 | 'dd/mm' | 01/03 |
20 | 'dd/mm/yy' | 01/03/00 |
21 | 'mmm.dd,yyyy HH:MM:SS' | Mar.01,2000 15:45:17 |
22 | 'mmm.dd,yyyy' | Mar.01,2000 |
23 | 'mm/dd/yyyy' | 03/01/2000 |
24 | 'dd/mm/yyyy' | 01/03/2000 |
25 | 'yy/mm/dd' | 00/03/01 |
26 | 'yyyy/mm/dd' | 2000/03/01 |
27 | 'QQ-YYYY' | Q1-1996 |
28 | 'mmmyyyy' | Mar2000 |
29 | (ISO 8601)'yyyy-mm-dd' | 2000-03-01 |
30 | (ISO 8601)'yyyymmdd THHMMSS' | 20000301T154517 |
31 | 'yyyy-mm-dd HH:MM:SS' | 2000-03-01 15:45:17 |
2.获取当前时间的数值
clock-获取当前日期和时间的数值,即clock=[year month day hour minute seconds]。>> format short g
>> clock
ans =
2009 12 30 16 44 44.687
将clock函数取得的当前日期和时间取整,得
>> now=fix(ans)
now =
2009 12 30 16 44 44
则now(1)=2008, now(2)=5,......,now(6)=44
3.其他时间和日期函数或命令
>> dateans =
30-Dec-2009
>> n=datenum('30-dec-2009') %给出0000年到给定时间的天数
n =
734137
>>now; %获取当前时间至0000年的天数
>>T=floor(ans)
T =
734137
>>datestr(now)
>>m=datevec(ans) %得到日期和时间向量
m =
2009 12 30 16 24 24
>>t0=clock;
>>etime(clock,t0) %两次命令之间的时间间隔,之间可进行其它操作,计算消耗时间
ans =
2.0160
>> t=cputime;
>> T=cputime-t
T =
0.2031
>> tic %开始计时
>> toc %计时结束
Elapsed time is 2.751494 seconds.
>> T=today
T =
734137
>> [a,b]=weekday(T,'long') %星期函数,给出指定日期是星期几
a =
4
b =
Wednesday
>> d=eomday(2009,12) %给出一个月的最后一天的日期
d =
31
>> d=eomdate(2009,12) %给出一个月的最后一天的天数
d =
734138
>> dom = day('30-Dec-2009') %日期中的天
dom =
30
>> nd=yeardays(2009) %某一年有多少天
nd =
365
>> calendar
Dec 2009
S M Tu W Th F S
0 0 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 0 0