通过日期计算出星期
星期是固定的以7天作为周期进行计算的,所以,只要通过日期获取,具体的天数,通过对7作为周期计算就可以获取星期值了,具体的函数如下:
/**************************************************************************************
* FunctionName : GetWeek()
* Description : 通过日期获取周
* EntryParameter : year, month, day - 日期
* ReturnValue : 返回周
**************************************************************************************/
U8 GetWeek(U8 year, U8 month, U8 day)
{
U8 i, y, m, d, weekDay;
U16 ti = 2000;
U32 days = 0;
y = (year >> 4) * 10 + (year & 0x0F);
m = (month >> 4) * 10 + (month & 0x0F);
d = (day >> 4) * 10 + (day & 0x0F);
for (i = 0; i { if ((ti % 4) == 0 && (ti % 100) != 0 || (ti % 400) == 0) { days += 366; } else { days += 365; } ti++; } for (i = 1; i { switch (i) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: { days += 31; break; } case 2: { ti = 2000 + y; if ((ti % 4) == 0 && (ti % 100) != 0 || (ti % 400) == 0) { days += 29; } else { days += 28; } break; } case 4: case 6: case 9: case 11: { days += 30; break; } } } days += d; weekDay = (days % 7) + 5; weekDay %= 7; return weekDay; }
日期星 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)