matlab中如何获取当前日期时间函数的具体应用如下:
一、date ,now,clock
1.date:按照日期字符串格式返回当前系统日期 2.now:按照连续的日期数值格式返回当前系统时间 3.clock:按照日期向量格式返回当前系统时间>> date,now,clock
ans =
09-APR-2011 ans =
7.3460e+005 ans =
1.0e+003 *
2.0110 0.0040 0.0090 0.0170 0.0430 0.0470
二、year,month,day,hour,minute,secondmatlab中分别使用year,month,day,hour,minute,second从上面讲到的字符串和连续型日期时间格式中提取年月日时分秒等信息>>[year(date),year(now)]ans = 2011 2011注意:上面的函数是没法从向量型日期时间格式中正确读取上述信息的>>year(clock)ans = 5 0 0 0 0 0 三、Matlab中处理日期与时间的函数详解
http://eelab.tsinghua.edu.cn/czzheng/blog/10-01/184048_13d5c.html调用格式 datestr(date,dateform) date为要转换的日期值,dateform为日期格式参数(具体参数值可通过 help datestr查看帮助)dateform参数说明 DATEFORM number DATEFORM 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:17 PM 15 'HH:MM' 15:45 16 'HH:MM PM' 3:45 PM 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) 'yyyymmddTHHMMSS' 20000301T154517 31 'yyyy-mm-dd HH:MM:SS' 2000-03-01 15:45:17eg.>> t=now;datestr(t,0)ans =09-May-2008 21:07:233.date将字符串转换成日期值调用语法:date(year,month,day) datenum(year,month,day,hour,minute,second)eg.>> t=now;datestr(t,0)ans =09-May-2008 21:07:23>> datenum(ans)ans =7.3354e+005>>4.datevec将datestr中指定的格式日期字符转换成包含日期分量的数值向量eg.>>c=datevec('09-May-2008 21:07:23')c = 2008 5 9 21 7 235.weekday 可从一个日期值或字符串中找出具体的日子和星期。eg.>> [d,w]=weekday( 7.3354e+005)d = 2w =Mon>>[d,w]=weekday('21-Dec-2008')d = 1w =Sun6.eomday 返回任何一个月最后一天是几号调用语法:eomday(year,month) 因为闰年的存在故需要year这个参数。eg.>> eomday(2008,2)ans = 29>> eomday(2007,2)ans = 287.calendar 生成指定月份的日历。eg>> calendar(date) May 2008 S M Tu W Th F S 0 0 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 0 0 0 0 0>> calendar(2008,5) May 2008 S M Tu W Th F S 0 0 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 0 0 0 0 0>>补充:date返回当天日期的字符串eg.>> dateans =09-May-20088.tic ,toc 两个结合使用可计算一组matlab操作指令的执行所需时间eg.>> tic; plot(rand(500,5));tocElapsed time is 0.078000 seconds.另外Matlab还提供了cputime和etime(具体使用方法可看帮助文档),用来计算一次运算所占cpu时间.eg.>>t0=cputime;myOperation;cputime-t0ans=0.1400>>t1=clock;myoperation;etime(clock,t1)ans=11.2800注:myoperation为用户自定义脚本文件>> t0=cputimet0 = 53.8125>> t1=cputimet1 = 54.0313>> deltaT=t1-t0deltaT = 0.2188>> t1=clockt1 =1.0e+003 * 2.0080 0.0050 0.0090 0.0210 0.0460 0.0254>> deltaT=etime(t1,t0)deltaT = 9.9060>>9.datetick 设一个坐标为时间标签eg.>> t=(1900:10:1990)';>> p=[100 200 150 350 200 400 500 100 30 120];>> plot(datenum(t,1,1),p);>> datetick('x','yyyy')>> title('test time tip')
新闻热点
疑难解答