在许多时分,咱们需求获取星期值。而许多人都喜爱在设置时钟中去设置星期,事实上底子没有必要这么费事,咱们只需求获取日期就可以随时核算出星期了。
星期是固定的以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;
}
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/276025.html