zoukankan      html  css  js  c++  java
  • 计算两个日期相差的天数

    #include<stdio.h>
    
    int IsRun(int year)
    {
        if(year%4==0&&year%100!=0||year%400==0)
            return 1;
        else
            return 0;
    }
    void huafen(int &year,int &month,int &day)
    {
        month=year%10000;
        year=year/10000;
        day=month%100;
        month=month/100;
    }
    int YearDays(int year,int month,int day)
    {
        int monthday[12]={31,28,31,30,31,30,31,31,30,31,30,31};
        int sum=0;
        for(int i=1;i<month;i++)
        {
            sum=sum+monthday[i-1];
        }
         sum+=day;
         if(month>2&&IsRun(year))
             sum++;
         return sum;
    } 
    int Distance(int year1,int month1,int day1,int year2,int month2,int day2)
    {
        int sum=0;
        if(year1==year2)
        {
            sum=YearDays(year1,month1,day1)-YearDays(year2,month2,day2);
            sum=sum>0?sum:(-sum);
            return sum+1;
        }    
        int year3,month3,day3;
        if(year1<year2)
        {
            year3=year2;
            month3=month2;
            day3=day2;
        }
        else
        {
            year3=year1;
            month3=month1;
            day3=day1;
            year1=year2;
            month1=month2;
            day1=day2;
        }
        for(int i=year1;i<year3;i++)
        {
            sum+=365;
            if(IsRun(i))
                sum++;
        }
        sum=sum+YearDays(year3,month3,day3)-YearDays(year1,month1,day1)+1;
        return sum;
    }
    int main()
    {
        
        int year;
        int year1,month1,day1,year2,month2,day2;
        while(scanf("%d",&year1)==1)
        {
            scanf("%d",&year2);
            huafen(year1,month1,day1);
            huafen(year2,month2,day2);
            //printf("%d %d %d
    %d %d %d
    ",year1,month1,day1,year2,month2,day2);
            printf("%d
    ",Distance(year1,month1,day1,year2,month2,day2));
        }
        return 0;
     } 

  • 相关阅读:
    TCP校验和
    Python8 数据库基础
    Python7 TCPIP协议与抓包
    Python6 线程与进程、网络编程、生成器与迭代器、协程、异步IO
    python2 变量与数据类型
    Python10 前端基础与爬虫
    Python11 Scrapy框架基础
    python3 函数、运算符与数据类型的常用方法
    Python9 数据库进阶
    python1 简介
  • 原文地址:https://www.cnblogs.com/BetterThanEver_Victor/p/8610923.html
Copyright © 2011-2022 走看看