欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
c語(yǔ)言 查詢?nèi)我鈨蓚(gè)日期之間相差的天數(shù)
[打印本頁(yè)]
作者:
niujia
時(shí)間:
2015-7-15 23:08
標(biāo)題:
c語(yǔ)言 查詢?nèi)我鈨蓚(gè)日期之間相差的天數(shù)
#include <stdio.h>
#include <math.h>
int Year1 ;
int Month1 ;
int Day1 ;
int Year2 ;
int Month2 ;
int Day2 ;
int MonthDays[] = {31 , 28 , 31 , 30 , 31 , 30 , 31 , 31 , 30 , 31 , 30 , 31} ;
char IsLeapYear(int Year)
{
if((Year % 4 == 0 && Year % 100 != 0) || Year % 400 == 0)
{
return 1 ;
}
else
{
return 0 ;
}
}
int GetMidMonthDays(int m1 , int m2, int y)
{
int i ;
int ds ;
ds = 0 ;
for(i = m1 + 1 ; i < m2 ; i++)
{
ds += MonthDays[i-1] ;
if(i == 2)
{
if(IsLeapYear(y))
{
ds++ ;
}
}
}
return ds ;
}
int GetSameYearDays(int y1 , int m1 , int d1 , int y2 , int m2 , int d2)
{
int Days ;
//如果月份相同
if(m1 == m2)
{
Days =abs(d2 - d1) ;
}
else
{
//計(jì)算第一個(gè)月份的天數(shù)
Days = abs(MonthDays[m1 - 1] - d1) ;
if(m1 == 2)
{
if(IsLeapYear(y1))
{
Days++ ;
}
}
if((m1 + 1) != m2)
{
//計(jì)算中間月份的天數(shù)
Days += GetMidMonthDays(m1 , m2, y1);
}
Days += d2 ;
}
return Days;
}
int GetMidYearDays(int y1,int y2)
{
int days=0;
int i=0;
for (i=y1+1;i<y2;i++)
{
if (IsLeapYear(i-1))
{
days+=366;
}
else
days+=365;
}
return days;
}
int GetDifferentYearDays(int y1 , int m1 , int d1 , int y2 , int m2 , int d2)
{
int days;
if (y1==y2)
{
days=GetSameYearDays( y1 ,m1 ,d1 , y2 , m2 ,d2);
}
else
{
days=MonthDays[m1+1]-d1;
if((y1+1) != y2)
{
days+=GetMidYearDays(y1,y2);
}
days+=GetMidMonthDays(m1-1,13,y1);
if(m2==1)
{
days+=d2;
}
else
{
days+=GetMidMonthDays(1,m2,y2);
days+=d2;
}
}
return days;
}
void main(void)
{
int Days ;
for(; ;)
{
printf("請(qǐng)輸入第一個(gè)日期(年 月 日):\n");
scanf("%d%d%d" , &Year1 , &Month1 , &Day1);
printf("請(qǐng)輸入第二個(gè)日期(年 月 日):\n");
scanf("%d%d%d" , &Year2 , &Month2 , &Day2);
//假定第一個(gè)日期小于第二個(gè)日期
Days = GetDifferentYearDays(Year1 , Month1 , Day1 , Year2 , Month2 , Day2);
printf("兩個(gè)日期相差的天數(shù)為:%d\n" , Days);
}
}
復(fù)制代碼
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1