展开全部
matlab有现成的函数可以利用,来计算星期。这个函数就是datenum函数。
datenum函数可以计算某一天从公元纪年第一天开始为第几天。
于是假设知道某一天是星期几就可以计算任何一个日期是星期几了。
考虑到0000/1/1为星期一,给出代码如下:
style='yyyy/mm/dd';%定义日期格式
date2day=@(s)mod(datenum(s,style)-datenum('0000/1/1',style)-1,7);%定义转化函数,函数先计算相差几天,然后减1除以7再取余数,得到是星期几,如果是0就是星期天
s='2016/1/12';%测试一个日期
date2day(s)
结果为:
ans =
2
即2016/1/12是星期2,说明代码正确。
datenum函数可以计算某一天从公元纪年第一天开始为第几天。
于是假设知道某一天是星期几就可以计算任何一个日期是星期几了。
考虑到0000/1/1为星期一,给出代码如下:
style='yyyy/mm/dd';%定义日期格式
date2day=@(s)mod(datenum(s,style)-datenum('0000/1/1',style)-1,7);%定义转化函数,函数先计算相差几天,然后减1除以7再取余数,得到是星期几,如果是0就是星期天
s='2016/1/12';%测试一个日期
date2day(s)
结果为:
ans =
2
即2016/1/12是星期2,说明代码正确。
展开全部
matlab
输入
y=年,m=月,d=日
返回
day 为星期几的英文前三字母
function [ day ] = date2day( y,m,d )
s=calendar(y,m);
[a b]=find(s==d);
if isempty(b),error('input error!');end
switch b
case 1
day='Sun';
case 2
day='Mon';
case 3
day='Tue';
case 4
day='Wed';
case 5
day='Thu';
case 6
day='Fri';
case 7
day='Sat';
end
end
输入
y=年,m=月,d=日
返回
day 为星期几的英文前三字母
function [ day ] = date2day( y,m,d )
s=calendar(y,m);
[a b]=find(s==d);
if isempty(b),error('input error!');end
switch b
case 1
day='Sun';
case 2
day='Mon';
case 3
day='Tue';
case 4
day='Wed';
case 5
day='Thu';
case 6
day='Fri';
case 7
day='Sat';
end
end
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询