VC 计算年月日所在的星期数

来源:互联网 发布:刀剑乱舞短刀极化数据 编辑:程序博客网 时间:2024/05/15 19:23
/*计算年月日所在的星期数
* 蔡勒公式:W = [C/4] - 2C + y + [y/4] + [13 * (M+1) / 5] + d - 1 
*         C是世纪数减一,y是年份后两位(经测试 4位也可以),M是月份,d是日数。
*           1月和2月要按上一年的13月和14月来算,这时C和y均按上一年取值。

*

CTimeCurTime = CTime::GetCurrentTime();
int iYear  = CurTime.GetYear();
int iMonth = CurTime.GetMonth();
int iDay  = CurTime.GetDay();

 */

int GetCurWeekday(int Year,int Month,int Day)
{
  int Weekday=0, Century=0;
  if (1 == Month ) {
     Month = 13;
  }   
  else if (2 == Month ) {
     Month = 14;

  }

     Year = Year -1;

  Century = (Year/100);
  Year = Year%100;
 
  Weekday = (Century/4) - (2*Century) + Year + (Year/4) + (13 * (Month+1) / 5) + Day - 1;
  Weekday = Weekday%7;
  return Weekday;

}

...

原创粉丝点击