//统计当前的天数
int TotalDays(int year,int month,int day)
{
int i = year - YEAR; //计算输入年份与2000年的差值,若大于等于1则超过了一年,否则不满一年
int i_month = 1; //从输入年份的第一个月开始计算
int totalday = day; //把输入月份对应的天数先写入总天数,以便后续累加计算
if ( year%4 == 0 && year%100 != 0)
{
a[2] = 29; //如果是闰年,则把a数组中2月的天数改为29天
}
while (i_month < month) //从一月到输入的月份之前,计算输入年份的总天数
{
totalday += a[i_month ++]; //从一月份开始,把a数组中存放的每个月的天数进行累加,一直加到输入的月份之前,输入月份的天数已经事先用来初始化累积和了,不用再加入了。
}
if ( i > 0 ) //如果距离2000年超过了一年,还要补上整年的天数
{
totalday += DAYS*i + (i-1)/4 + 1; //整年天数统一按照365天(DAYS)计算,由于2000年是闰年,所以以后每满四年多补一天( (i-1)/4 + 1 )。
}
return totalday;
}