日期天数转换c语言程序,C语言 ---计算连个日期之间的天数转换
/* 返回絕對(duì)值 */
int abs(int a,int b)
{
if(a>=b)
return (a-b);
else
return (b-a);
}
/* 判斷是否為閏年:是,返回 1 ; 不是, 返回 0 . */
int IsLeap(int year)
{
if(((year%4==0)&&(year%100!=0))||year%400==0)
return 1;
else
return 0;
}
/* 判斷某個(gè)日期從年初(y年1月1日)到該天(y年m月d日)的天數(shù) */
int Days(int y,int m,int d)
{
int days[]= {0,31,28,31,30,31,30,31,31,30,31,30,31};
int i;
int sum = 0 ; /* 計(jì)算天數(shù) */
if(IsLeap(y)) /* 如果為閏年,2月有 29 天 */
days[2] = 29 ;
for(i=0; i
sum = sum +days[i] ;
sum = sum + d - 1 ;
return sum;
}
/*
判斷兩個(gè)日期之間的天數(shù).
日期一:年 y1,月 m1,日 d1;
日期一:年 y2,月 m2,日 d2;
*/
int DiffDays(int y1,int m1,int d1,int y2,int m2,int d2)
{
int s1,s2; /* 計(jì)算兩個(gè)日期從年初到該日期的天數(shù) */
int count; /* 計(jì)算兩個(gè)年份之間的差值 */
int sum=0; /* */
int t,t1,t2;
if(y1==y2)
{
s1 = Days(y1,m1,d1);
s2 = Days(y2,m2,d2);
return abs(s1,s2);
}
else if(y1>y2)
{
count = y1 - y2 ;
if(count == 1)
{
t1 = Days(y1,m1,d1);
t2 = Days(y2,12,31) - Days(y2,m2,d2);
return (t1+t2+count);
}
else
{
for(t = y2+1; t
sum = sum + Days(t,12,31);
cout<
t2 = Days(y2,12,31) - Days(y2,m2,d2);
t1 = Days(y1,m1,d1);
return (sum+t1+t2+count);
}
}
else
{
count = y2 - y1 ;
if(count == 1)
{
t2 = Days(y2,m2,d2);
t1 = Days(y1,12,31) - Days(y1,m1,d1);
return (t1+t2+count);
}
else
{
for(t = y1+1; t
sum = sum + Days(t,12,31);
t2 = Days(y2,m2,d2);
t1 = Days(y1,12,31) - Days(y1,m1,d1);
return (sum+t1+t2+count);
}
}
}
總結(jié)
以上是生活随笔為你收集整理的日期天数转换c语言程序,C语言 ---计算连个日期之间的天数转换的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 多媒体计算机辅助教学与课件制作,清华大学
- 下一篇: 零食店从哪进货 这些赚钱的经验不能错过