C语言输入日期,输出星期几,两种方法

方法一:
int const table_week[12]={0,3,3,6,1,4,6,2,5,0,3,5}; //月修正数据表
/*
*输入日期,得到星期几
*输入:year:  年
*      month: 月
*      day:   日
*返回:星期几
*0      1      2      3     4       5     6
*七     一    二     三     四     五     六
*/
int get_Week(int year,int month,int day)
{
  int temp2;
	int yearH,yearL;

  yearH = year/100;
  yearL = year%100;
  if(yearH > 19)
  {
   yearL += 100;
  }
  temp2 = yearL+yearL/4;
  temp2 = temp2%7;
  temp2 = temp2+day+table_week[month-1];

  if(yearL%4 == 0 && month < 3)
  {
   temp2--;
  }
  return temp2%7;

}
方法二:
/*
*输入日期,得到星期几
*输入:y:年
*      m:月
*      d:日
*返回:星期几
*0      1      2      3     4       5     6
*一    二     三     四     五     六     七
*/
int get_Week(int y,int m,int d)
{
  int week = 0;
  if(m==1 || m == 2)
  {
    m += 12;
    y--;
  }
  week=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;
  return week;
}

 

  • 5
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值