您现在的位置: 主页 > MCU > 单片机技术应用 > 通过日期算星期的C51源程序 -
本文所属标签:
为本文创立个标签吧:

通过日期算星期的C51源程序 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-06 

[导读]#include#define uint unsigned int
#define uchar unsigned charuchar code monthday[]={31,28,31,30,31,30,31,31,30,31,30,31};

uchar month_n_day(uint y,uchar m) //算出某年某月有多少天
{
if(m==2)
r

#include

#define uint unsigned int
#define uchar unsigned char

本文引用地址: http://www.21ic.com/app/mcu/201808/786362.htm

uchar code monthday[]={31,28,31,30,31,30,31,31,30,31,30,31};

uchar month_n_day(uint y,uchar m) //算出某年某月有多少天
{
if(m==2)
return(((y%4 == 0) && (y%100 != 0) || (y%400 == 0))? 29: 28);
else
return(monthday[m-1]);
}

//************************************************
uchar week(uint y,uchar m,uchar d) //计算某年某月某日是星期几(1900年开始)
{
long nday=0;
uint i;


for (i=1900;i nday =nday+(((i%4 == 0) && (i%100 != 0) || (i%400 == 0))? 366: 365);
for (i=1;i nday=nday+month_n_day(y,i);
nday=nday+d;

return(nday%7);
}

void main()
{
ucharweek1,week2,week3,week4;
uint aa1,aa2,aa3,aa4;
aa1=10;
aa1=aa1+2000;

week1=week(aa1,11,2);//week1为计算出来的星期几。
while(1)
{
;
}
}

//说明:

如计算2010年12月05日是星期几:假设 uchar year,month,day;

year=0x10; //年份:10年
month=0x12; //月份:12月

day=0x05; //日: 05日

则星期为:week1=week((year>>4)*10+(year&0x0f)+2000,(month>>4)*10+(month&0x0f),(day>>4)*10+(day&0x0f));

注:此式只能计算2000年到2099年的星期。



              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > 通过日期算星期的C51源程序 -
 

"通过日期算星期的C51源程序 -"的相关文章

网站地图

围观()