MATLAB
中关于时间日期的函数:
addtodate
修改时间域
calendar
某个月的日历
clock
用时间向量给出当前时间
cputime CPU时间消费
date
当前日期字符串
datenum
将日期和时间转为一串时间数字,这个数字表示从公元纪年以来到使用这个命令时间的天数
datestr
将日期和时间转为字符串格式
datevec
将日期和时间转为向量元素
eomday
月的最后一天
etime
两个日期之间的时间段长
now
当前日期和时间
weekday
星期几
一、获取当前日期时间函数
1.date:按照日期字符串格式返回当前系统日期
02-Sep-2013
2.now:按照连续的日期数值格式返回当前系统时间
7.3548e+005
3.clock:按照日期向量格式返回当前系统时间
例子:clock 显示当前年月日时间
>>clock
ans =
1.0e+003 *
2.0130 0.0090 0.0020 0.0140 0.0320 0.0315
以上的格式太难看了,我们换一个
>> f =
'.3fn';
c = clock;
fprint(f,c)
结果:
2013.000
9.000
2.000
14.000
34.000
58.765
二、程序中应用的计时函数
在编写程序时,经常需要获知代码的执行实际时间,这就需要在程序中用到计时函数,matlab中提供了以下三种方法:
1.cputime(单位不明)
返回matlab启动以来的CPU时间,可以在程序执行钱保存当时的CPU时间,然后在程序执行结束后用cputime减去运行前保存的数值,就可以获取程序的实际运行时间
>>t0=cputime;pause(3);TimeCost=cputime-t0
2.tic/toc(单位s)
tic用在程序的开始,作用是启动一个计时器,然后在程序尾部放一个toc,表示终止计时器,并返回tic启动以来的总时s间
3.etime(单位s)
etime(t1,t2)用来计算两个日期向量t1和t2之间的时间差,结合前面讲到的clock函数也可以用来确定程序代码的运行时间
>>t0=clock;pause(3);TimeCost=etime(clock,t0)
在三种计时中建议使用第二种,相对来说最精确。当然你可以使用profiler来确定你的执行时间,并且具体到没有个命令的时间
-------------------------------------------------------------------------------------------------
例子1:
>> datenum(2013,12,24)
ans =
735592
>> datenum(fix(now))
ans =
735479
>>
datenum(2013,12,24)-datenum(fix(now))
ans =
113 %
现在距离2013的圣诞节还有113天
例子2:看看如何画出自己的生物钟曲线
>> m_birth= datenum(1989,6,17)
%修改为你的出生日期
m_now= fix(now); %今天
t = (m_now-28):1:(m_now+28);
T = t-m_now;
y = 100*[sin(2*pi*(t-m_birth)/23) %体力
sin(2*pi*(t-m_birth)/28) %情绪
sin(2*pi*(t-m_birth)/33)]; %智力
plot(T,y) %画图
OK,我确实最近情绪很低落,智商也不高,体力也很差,经常困死。。。。。。。。
--------------------------------------------------------------------------------------------------