现在的位置: 首页 > 综合 > 正文

部分GNU代码片 12、给出年月日求天数

2013年12月02日 ⁄ 综合 ⁄ 共 416字 ⁄ 字号 评论关闭

 

long calc_daynr(uint year,uint month,uint day)
{
  long delsum;
  int temp;

  if (year == 0 && month == 0 && day == 0)
    DBUG_RETURN(0);             /* Skip errors */
  if (year < YY_MAGIC_BELOW)//200
  {
    if ((year=year+1900) < 1900+YY_PART_YEAR)//70
      year+=100;
  }
  delsum= (long) (365L * year+ 31*(month-1) +day);
  if (month <= 2)
      year--;
  else
    delsum-= (long) (month*4+23)/10;
  temp=(int) ((year/100+1)*3)/4;

  return (delsum+(int) year/4-temp);
} /* calc_daynr */

抱歉!评论已关闭.