不需考虑闰年校验的星期算法(8700字)hotpower2004-6-8 21:19:02[48次]
在不要星期表的星期算法中,由于已包含了闰年的容错算法,所以可以不需考虑闰年的校
验,故可归纳为:
一。(百年%4*5天+年+年/4+(13*月-1)/5+日)%7
注:月从3月开始,即3月为1,。。1月为11,2月为12
unsigned char CalcWeekDay (unsigned int year, unsigned char month ,unsigned
char day )
{
if ( month > 2)
{ month -= 2;}
else
{
month +=10 ; year--;
}
return ( ((year/100)%4*5 + (year%100) + (year%100) /4 + ( 13 * month -
1 ) / 5 + day)% 7 );
}
或
unsigned char CalcWeekDay (unsigned int year, unsigned char month ,unsigned
char day )
{
if ( month > 2)
{ month -= 2;}
else
{
month +=2 ; year--;//1,2月同5,6月星期表
}
return ( ((year/100)%4*5 + (year%100) + (year%100) /4 + ( 13 * month -
1 ) / 5 + day)% 7 );
}
二。(百年%4*5天+年+年/4+(13*(月-2)-1)/5+日)%7
或(百年%4*5天+年+年/4+(13*月-27)/5+日)%7
注:月从3月开始,即3月为3,。。12月为12,1月为13,2月为14
即:今年的 1月 2月是去年的“13月14月”
今天的13月14月是明年的“ 1月 2月”
故可为:
unsigned char CalcWeekDay (unsigned int year, unsigned char month ,unsigned
char day )
{
if ( month <= 2)
{
month +=12 ;//今年的 1月 2月是去年的“13月14月”
year--;//注意“去年”2字
}
return ( ((year/100)%4*5 + (year%100) + (year%100) /4 + ( 13 * month -
27 ) / 5 + day)% 7 );
}
或
unsigned char CalcWeekDay (unsigned int year, unsigned char month ,unsigned
char day )
{
if ( month <= 2)
{
month |=4 ;//今年的 1月 2月是也是去年的“5月6月”的月表
year--;//注意“去年”2字
}
return ( ((year/100)%4*5 + (year%100) + (year%100) /4 + ( 13 * month -
27 ) / 5 + day)% 7 );
}
三。(百年%4*5天+年+年/4+(13*(月-2)-1)/5+日)%7
或(百年%4*5天+年+年/4+(13*月-27)/5+日)%7
或(百年%4*5天+年+年/4+(13*月-27-8+8)/5+日)%7
或(百年%4*5天+年+年/4+(13*月-35+8)/5+日)%7
或(百年%4*5天+年+年/4+(13*月+8)/5-7+日)%7
即(百年%4*5天+年+年/4+(13*月+8)/5+日)%7
注:月从3月开始,即3月为3,。。12月为12,1月为13,2月为14
即:今年的 1月 2月是去年的“13月14月”
今天的13月14月是明年的“ 1月 2月”
故可为:
unsigned char CalcWeekDay (unsigned int year, unsigned char month ,unsigned
char day )
{
if ( month <= 2)
{
month +=12 ;//今年的 1月 2月是去年的“13月14月”
year--;//注意“去年”2字
}
return ( ((year/100)%4*5 + (year%100) + (year%100) /4 + ( 13 * month +
8 ) / 5 + day)% 7 );
}
或
unsigned char CalcWeekDay (unsigned int year, unsigned char month ,unsigned
char day )
{
if ( month <= 2)
{
month |=4 ;//今年的 1月 2月是也是去年的“5月6月”的月表
year--;//注意“去年”2字
}
return ( ((year/100)%4*5 + (year%100) + (year%100) /4 + ( 13 * month +
8 ) / 5 + day)% 7 );
}
以上算法的推导过程我会在主题〈将星期算法进行到底〉中祥述的。。。
相关帖子>>>:
不需考虑闰年校验的星期算法
- 几种星期算法校验程序(60706字)hotpower[15次]2004-6-10 0:28:13
/*--------------------------------------------------
几种星期算法校验程序
--------------------------------------------------*/
#include <stdio.h>
/*--------------------------------------------------
不用闰年调节的月星期表(基准2)
算法采用 (星期=百年%4*5+年+年/4+月表+日)%7
---------------------------------------------------*/
code unsigned char WeekTabT[] = {
0,//去1月
3,//去2月
2,//今3月
5,//今4月
0,//今5月
3,//今6月
5,//今7月
1,//今8月
3,//今9月
6,//今10月
2,//今11月
4 //今12月
};
/*--------------------------------------------------
闰年月星期表(基准0)
算法采用 (星期=百年%4*5+年+年/4+月表+日+2)%7
---------------------------------------------------*/
code unsigned char WeekTab[] = {
(3 << 5) + 31,//1月//平年(4 << 5) + 31
(6 << 5) + 29,//2月//平年(0 << 5) + 28
(0 << 5) + 31,//3月//以此为基准0
(3 << 5) + 30,//4月
(5 << 5) + 31,//5月
(1 << 5) + 30,//6月
(3 << 5) + 31,//7月
(6 << 5) + 31,//8月
(1 << 5) + 30,//9月
(4 << 5) + 31,//10月
(0 << 5) + 30,//11月
(2 << 5) + 31 //12月
};
/*--------------------------------------------------
平年月星期表(基准2)
算法采用 (星期=百年%4*5+年+年/4+月表+日)%7
---------------------------------------------------*/
code unsigned char WeekTabX[] = {//平年月星期表
(6 << 5) + 31,//1月//闰年(5 << 5) + 31
(2 << 5) + 28,//2月//闰年(1 << 5) + 29
(2 << 5) + 31,//3月//以此为基准2
(5 << 5) + 30,//4月
(0 << 5) + 31,//5月
(3 << 5) + 30,//6月
(5 << 5) + 31,//7月
(1 << 5) + 31,//8月
(3 << 5) + 30,//9月
(6 << 5) + 31,//10月
(2 << 5) + 30,//11月
(4 << 5) + 31 //12月
};
/*------------------------------------------------------------------------------
----------
2000年~2099年星期算法
--------------------------------------------------------------------------------
---------*/
unsigned char WeekDay20(unsigned char y, unsigned char m, unsigned char d)
{
unsigned char week, day;
day = WeekTab[m - 1];//月表
week = day >> 5;//月星期数
day &= 0x1f;//月天数
if ((m < 3) && (y & 0x03)){//平年
if (m == 2) day--;//平年2月天数-1
week++;//平年1月2月表+1
}
y = y + (y >> 2);//年+年/4
week = (week + y + d + 2) % 7;//(星期=年+年/4+月表+2日)%7
return (week << 5) | day;//返回星期和月天数
}
/*------------------------------------------------------------------------------
----------
0000年~9999年星期算法
--------------------------------------------------------------------------------
---------*/
unsigned char WeekDay(unsigned char c, unsigned char y, unsigned char m,
unsigned char d)
{
unsigned char week, day;
c &= 0x03;//百年%4
c = c | (c << 2);//百年%4*5 (10Byte)
day = WeekTab[m - 1];//月表
week = day >> 5;//月星期数
day &= 0x1f;//月天数
if ((m < 3) && !((c == 0) | (y & ((y & 0x03) == 0)))){//平年
if (m == 2) day--;//平年2月天数-1
week++;//平年1月2月表+1
}
y = y + (y >> 2);//年+年/4 (7Byte)
week = (week + c + y + d + 2) % 7;//(星期=百年%4*5+年+年/4+月表+日+2)%7
return (week << 5) | day;//返回星期和月天数
}
/*------------------------------------------------------------------------------
----------
0000年~9999年星期算法
--------------------------------------------------------------------------------
---------*/
unsigned char WeekT(unsigned char c, unsigned char y, unsigned char m, unsigned
char d)
{
unsigned char week;
week = WeekTabT[m - 1];//月表
if (m <= 2){
y--;
if (y >= 99){//原年为0
y = 99;//年变为99
c--;//世纪-1
}
}
c &= 0x03;//百年%4
week = ((c | (c << 2)) + (y + (y >> 2)) + week + d) % 7;//(星期=百年%4*5+年+
年/4+月表+日)%7
return week;//返回星期
}
/*------------------------------------------------------------------------------
----------
0000年~9999年星期算法
--------------------------------------------------------------------------------
---------*/
unsigned char WeekK(unsigned char c, unsigned char y, unsigned char m, unsigned
char d)
{
unsigned char week;
if (m <= 2){
m |= 4;//1月2月同5月六月表
y--;
if (y >= 99){//原年为0
y = 99;//年变为99
c--;//世纪-1
}
}
c &= 0x03;//百年%4
week = ((c | (c << 2)) + (y + (y >> 2)) + (13 * m + 8)/ 5 + d) % 7;//(星期=百
年%4*5+年+年/4+(13*月+8)/5+日)%7
return week;//返回星期
}
/*------------------------------------------------------------------------------
-----------*/
unsigned char DayNumber(unsigned char c, unsigned char y, unsigned char m)
{
unsigned char dn;
dn = WeekK(c, y, m + 1, 1) - WeekK(c, y, m, 1);//m+1=13表示明年的1月
if (dn >= 0x80) dn += 7;//下月初是周日
return dn + 28;//返回当月的最大天数
}
/*------------------------------------------------------------------------------
----------
2000年~2099年星期算法
--------------------------------------------------------------------------------
---------*/
unsigned char WeekDayX20(unsigned char y, unsigned char m, unsigned char d)
{
unsigned char week, day;
day = WeekTabX[m - 1];//月表
week = day >> 5;//月星期数
day &= 0x1f;//月天数
if ((m < 3) && ((y & 0x03) == 0)){//闰年
if (m == 2) day++;//闰年2月天数+1
week--;//闰年1月2月表-1
}
y = y + (y >> 2);//年+年/4
week = (week + y + d) % 7;//(星期=年+年/4+月表日)%7
return (week << 5) | day;//返回星期和月天数
}
/*------------------------------------------------------------------------------
----------
0000年~9999年星期算法
--------------------------------------------------------------------------------
---------*/
unsigned char WeekDayX(unsigned char c, unsigned char y, unsigned char m,
unsigned char d)
{
unsigned char week, day;
c &= 0x03;//百年%4
c = c | (c << 2);//百年%4*5
day = WeekTabX[m - 1];//月表
week = day >> 5;//月星期数
day &= 0x1f;//月天数
if ((m < 3) && ((c == 0) | (y & ((y & 0x03) == 0)))){//闰年
if (m == 2) day++;//闰年2月天数+1
week--;//闰年1月2月表-1
}
y = y + (y >> 2);//年+年/4
week = (week + c + y + d) % 7;//(星期=百年%4*5+年+年/4+月表+日)%7
return (week << 5) | day;//返回星期和月天数
}
unsigned char BcdToBin(unsigned char val)
{
val = (val >> 4) * 10 + (val & 0x0f);//将BCD码转换为10进制数
return val;//返回10进制数
}
void main(void)
{
unsigned char c, y, m, d;
unsigned char cx, yx, mx, dx;
unsigned char WDay, Week, Day;
/*---------------------------------------------------------
0001年1月1日 星期天
---------------------------------------------------------*/
c = 0x00;
y = 0x01;
m = 0x01;
d = 0x01;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
WDay = WeekDay(cx, yx, mx, dx);//取星期和月天数
Week = WDay >> 5;//得到星期
Day = WDay & 0x1f;//得到最大月天数
/*---------------------------------------------------------
0001年1月1日 星期天
---------------------------------------------------------*/
c = 0x00;
y = 0x01;
m = 0x01;
d = 0x01;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
WDay = WeekDayX(cx, yx, mx, dx);//取星期和月天数
Week = WDay >> 5;//得到星期
Day = WDay & 0x1f;//得到最大月天数
/*---------------------------------------------------------
1918年1月21日 星期一
---------------------------------------------------------*/
c = 0x19;
y = 0x18;
m = 0x01;
d = 0x21;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
WDay = WeekDay(cx, yx, mx, dx);//取星期和月天数
Week = WDay >> 5;//得到星期
Day = WDay & 0x1f;//得到最大月天数
/*---------------------------------------------------------
1918年1月21日 星期一
---------------------------------------------------------*/
c = 0x19;
y = 0x18;
m = 0x01;
d = 0x21;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
WDay = WeekDayX(cx, yx, mx, dx);//取星期和月天数
Week = WDay >> 5;//得到星期
Day = WDay & 0x1f;//得到最大月天数
/*---------------------------------------------------------
9999年12月31日 星期天
---------------------------------------------------------*/
c = 0x00;
y = 0x01;
m = 0x01;
d = 0x01;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
WDay = WeekDay(cx, yx, mx, dx);//取星期和月天数
Week = WDay >> 5;//得到星期
Day = WDay & 0x1f;//得到最大月天数
/*---------------------------------------------------------
9999年12月31日 星期天
---------------------------------------------------------*/
c = 0x00;
y = 0x01;
m = 0x01;
d = 0x01;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
WDay = WeekDayX(cx, yx, mx, dx);//取星期和月天数
Week = WDay >> 5;//得到星期
Day = WDay & 0x1f;//得到最大月天数
/*---------------------------------------------------------
2004年6月18日 星期五
---------------------------------------------------------*/
c = 0x20;
y = 0x04;
m = 0x06;
d = 0x18;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
WDay = WeekDay20(yx, mx, dx);//取星期和月天数
Week = WDay >> 5;//得到星期
Day = WDay & 0x1f;//得到最大月天数
/*---------------------------------------------------------
2004年6月18日 星期五
---------------------------------------------------------*/
c = 0x20;
y = 0x04;
m = 0x06;
d = 0x18;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
WDay = WeekDayX20(yx, mx, dx);//取星期和月天数
Week = WDay >> 5;//得到星期
Day = WDay & 0x1f;//得到最大月天数
/*---------------------------------------------------------
2018年3月8日 星期四
---------------------------------------------------------*/
c = 0x20;
y = 0x18;
m = 0x03;
d = 0x08;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
WDay = WeekDay20(yx, mx, dx);//取星期和月天数
Week = WDay >> 5;//得到星期
Day = WDay & 0x1f;//得到最大月天数
/*---------------------------------------------------------
2018年3月8日 星期四
---------------------------------------------------------*/
c = 0x20;
y = 0x18;
m = 0x03;
d = 0x08;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
WDay = WeekDayX20(yx, mx, dx);//取星期和月天数
Week = WDay >> 5;//得到星期
Day = WDay & 0x1f;//得到最大月天数
/*---------------------------------------------------------
2099年12月31日 星期四
---------------------------------------------------------*/
c = 0x20;
y = 0x99;
m = 0x12;
d = 0x31;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
WDay = WeekDay20(yx, mx, dx);//取星期和月天数
Week = WDay >> 5;//得到星期
Day = WDay & 0x1f;//得到最大月天数
/*---------------------------------------------------------
2099年12月31日 星期四
---------------------------------------------------------*/
c = 0x20;
y = 0x99;
m = 0x12;
d = 0x31;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
WDay = WeekDayX20(yx, mx, dx);//取星期和月天数
Week = WDay >> 5;//得到星期
Day = WDay & 0x1f;//得到最大月天数
/*---------------------------------------------------------
2000年1月18日 星期二
---------------------------------------------------------*/
c = 0x20;
y = 0x00;
m = 0x01;
d = 0x18;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
Week = WeekT(cx, yx, mx, dx);//取星期
/*---------------------------------------------------------
2000年1月18日 星期二
---------------------------------------------------------*/
c = 0x20;
y = 0x00;
m = 0x01;
d = 0x18;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
Week = WeekK(cx, yx, mx, dx);//取星期
/*---------------------------------------------------------
1999年12月31日 星期五
---------------------------------------------------------*/
c = 0x19;
y = 0x99;
m = 0x12;
d = 0x31;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
Week = WeekT(cx, yx, mx, dx);//取星期
/*---------------------------------------------------------
1999年12月31日 星期五
---------------------------------------------------------*/
c = 0x19;
y = 0x99;
m = 0x12;
d = 0x31;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
Week = WeekK(cx, yx, mx, dx);//取星期
Day = DayNumber(cx, yx, mx);//取月最大天数
/*---------------------------------------------------------
2000年1月1日 星期六
---------------------------------------------------------*/
c = 0x20;
y = 0x00;
m = 0x01;
d = 0x01;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
Week = WeekT(cx, yx, mx, dx);//取星期
Day = DayNumber(cx, yx, mx);//取月最大天数
/*---------------------------------------------------------
2000年1月1日 星期六
---------------------------------------------------------*/
c = 0x20;
y = 0x00;
m = 0x01;
d = 0x01;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
Week = WeekK(cx, yx, mx, dx);//取星期
Day = DayNumber(cx, yx, mx);//取月最大天数
/*---------------------------------------------------------
2000年2月1日 星期二
---------------------------------------------------------*/
c = 0x20;
y = 0x00;
m = 0x02;
d = 0x01;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
Week = WeekK(cx, yx, mx, dx);//取星期
Day = DayNumber(cx, yx, mx);//取月最大天数
/*---------------------------------------------------------
2000年3月1日 星期三
---------------------------------------------------------*/
c = 0x20;
y = 0x00;
m = 0x03;
d = 0x01;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
Week = WeekK(cx, yx, mx, dx);//取星期
Day = DayNumber(cx, yx, mx);//取月最大天数
/*---------------------------------------------------------
2000年4月1日 星期六
---------------------------------------------------------*/
c = 0x20;
y = 0x00;
m = 0x04;
d = 0x01;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
Week = WeekK(cx, yx, mx, dx);//取星期
Day = DayNumber(cx, yx, mx);//取月最大天数
/*---------------------------------------------------------
2000年12月31日 星期六
---------------------------------------------------------*/
c = 0x20;
y = 0x00;
m = 0x12;
d = 0x31;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
Week = WeekK(cx, yx, mx, dx);//取星期
Day = DayNumber(cx, yx, mx);//取月最大天数
/*---------------------------------------------------------
2001年2月1日 星期四
---------------------------------------------------------*/
c = 0x20;
y = 0x01;
m = 0x02;
d = 0x01;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
Week = WeekK(cx, yx, mx, dx);//取星期
Day = DayNumber(cx, yx, mx);//取月最大天数
/*---------------------------------------------------------
2001年3月1日 星期四
---------------------------------------------------------*/
c = 0x20;
y = 0x01;
m = 0x03;
d = 0x01;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
Week = WeekK(cx, yx, mx, dx);//取星期
Day = DayNumber(cx, yx, mx);//取月最大天数
/*---------------------------------------------------------
2002年2月1日 星期五
---------------------------------------------------------*/
c = 0x20;
y = 0x02;
m = 0x02;
d = 0x01;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
Week = WeekK(cx, yx, mx, dx);//取星期
Day = DayNumber(cx, yx, mx);//取月最大天数
/*---------------------------------------------------------
2002年3月1日 星期五
---------------------------------------------------------*/
c = 0x20;
y = 0x02;
m = 0x03;
d = 0x01;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
Week = WeekK(cx, yx, mx, dx);//取星期
Day = DayNumber(cx, yx, mx);//取月最大天数
/*---------------------------------------------------------
2003年2月1日 星期六
---------------------------------------------------------*/
c = 0x20;
y = 0x03;
m = 0x02;
d = 0x01;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
Week = WeekK(cx, yx, mx, dx);//取星期
Day = DayNumber(cx, yx, mx);//取月最大天数
/*---------------------------------------------------------
2003年3月1日 星期六
---------------------------------------------------------*/
c = 0x20;
y = 0x03;
m = 0x03;
d = 0x01;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
Week = WeekK(cx, yx, mx, dx);//取星期
Day = DayNumber(cx, yx, mx);//取月最大天数
/*---------------------------------------------------------
2004年2月1日 星期日
---------------------------------------------------------*/
c = 0x20;
y = 0x04;
m = 0x02;
d = 0x01;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
Week = WeekK(cx, yx, mx, dx);//取星期
Day = DayNumber(cx, yx, mx);//取月最大天数
/*---------------------------------------------------------
2004年3月1日 星期一
---------------------------------------------------------*/
c = 0x20;
y = 0x04;
m = 0x03;
d = 0x01;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
Week = WeekK(cx, yx, mx, dx);//取星期
Day = DayNumber(cx, yx, mx);//取月最大天数
/*---------------------------------------------------------
2005年2月1日 星期二
---------------------------------------------------------*/
c = 0x20;
y = 0x05;
m = 0x02;
d = 0x01;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
Week = WeekK(cx, yx, mx, dx);//取星期
Day = DayNumber(cx, yx, mx);//取月最大天数
/*---------------------------------------------------------
2005年3月1日 星期二
---------------------------------------------------------*/
c = 0x20;
y = 0x05;
m = 0x03;
d = 0x01;
cx = BcdToBin(c);//百年
yx = BcdToBin(y);//年
mx = BcdToBin(m);//月
dx = BcdToBin(d);//日
Week = WeekK(cx, yx, mx, dx);//取星期
Day = DayNumber(cx, yx, mx);//取月最大天数
while(1);
}
文章评论(0条评论)
登录后参与讨论