MATLAB常用日期和时间函数

在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

 

NumberStringExample
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:MMPM\'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.其他时间和日期函数或命令
>> date

ans =

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