日期问题通用处理
作者:
孔乙己_7
,
2024-03-19 20:37:25
,
所有人可见
,
阅读 4
//判断闰年
int Is_leap(int year){
if(year%100&&year%4==0||year%400==0)
return 1;
return 0;
}
//根据年和月判断某月天数
const int months[]{0,31,28,31,30,31,30,31,31,30,31,30,31};
int get_month_days(int year,int month){
int res=months[month];
if(month==2) res+=Is_leap(year);
return res;
}
//以1.1.1为参考标准,计算经过了多少日
int get_total_days(int year,int month,int day){
int res=0;
for(int i=1;i<year;i++){
res+=365+Is_leap(i);
}
for(int i=1;i<month;i++){
res+=get_month_days(year,i);
}
return res+day;
}
%%%