读书笔记(三)
这是第三部分日期函数 将代码复制到m文件即可运行 函数部分需新建m文件保存 %% 获取当前时间 format bank % 一种显示格式 c = clock % c是一个数组「年 月 日 时 分 秒」 f = '%6d %6d %6d %6d %6d %9.3f\n' % 整数 整数 整数 整数 整数 浮点数 fprintf(f,c); %% 判断闰年 y = c(1) is_leapyear = (mod(y,4) == 0 && mod(y,100) ~= 0 || mod(y,400) == 0) % “==”整数判等 % “&&”与 % “||”或 % “~=”(整数)判不等 %% 日期函数 c = clock; dnum = datenum(c) % 今天是公元记年第几天 dnow = fix(now) % 公元记年天数取整 xmas = datenum(c(1),12,25) % 那一天是公元记年第几天 days_till_xmas = xmas - dnow % 两个日期相隔几天 [~,wday] = weekday(now) % 今天是星期几 %% 数黑色星期五(同时是13号)的次数 c = 0; for y = 1:2015 for m = 1:12 d = datenum(y,m,13); if weekday(d) == 6 c = c + 1; end end end format short c %% 人体节律 bday = datenum('8/17/1989') t = (fix(now)-bday) + (-28:28); y = 100*[sin(2*pi*t/23) sin(2*pi*t/28) sin(2*pi*t/33)]; plot(t,y) axis tight % 座标轴以给定数据源为边界
%% 字符串形式输出日期 for i = 1:31 disp(datestr(now),i) end % 以各种形式输出日期 % 需要时通过help datastr查询格式 %% calendar函数 y = 1989; m = 8; calendar(y,m) % 给出月历 c = sum(1:30); s = zeros(12,1); for m = 1:12 s(m) = sum(sum(calendar(2015,m))); % 第m个月的日期之和 end bar(s/c) % 和与一个月30天的比 axis([0 13 0.8 1.15]) % 座标轴边界 %% 显示动态时间 clf set(gcf,'color','white') axis off t = text(0.0,0.5,'','fontsize',16,'fontweight','bold'); while 1 s = datestr(now); set(t,'string',s) pause(1) %%等待一秒 end