摘要:[C语言函数]intcount_months(DATEstart,DATEend){intyears=0,months=0;DATEr;if(cmp_date(start,end)>0){r=start;start=end;end=r;}years=end.year-start.year;/*计算年数*/r=start;r.year=end.year;if(cmp_date(r,end)>0){/*修正年数*/(1);r.ye
[C语言函数]
int count_months(DATE start, DATE end)
{
int years = 0, months = 0;
DATE r;
if (cmp_date(start,end) > 0){
r = start; start = end; end = r;
}
years = end.year - start.year;/*计算年数*/
r = start;
r.year = end.year;
if (cmp_date(r,end) > 0) {/*修正年数*/
(1);
r.year--;
}
if (r.year < end.year) { /*跨年度时,先计算到 12 月的月份数*/
months =(2);
r.month = 12;
}
months += (end.month + 12 - r.month) % 12;
r.year = end.year;r.month = end.month;
makevalid( (3) ); /*将日期 r 修正为有效日期*/
if (cmp_date(r,end) > 0) /*修正月份数*/
(4) ;
months +=(5) ; /*计算总月份数*/
return months;
}
软考备考资料免费领取
去领取