虚位以待(AD)
虚位以待(AD)
首页 > 软件编程 > C/C++编程 > C语言计算日期差的方法示例

C语言计算日期差的方法示例
类别:C/C++编程   作者:码皇   来源:互联网   点击:

这篇文章主要介绍了C语言计算日期差的方法,结合具体实例形式分析了C语言针对日期转换、运算等相关操作技巧,需要的朋友可以参考下

本文实例讲述了C语言计算日期差的方法。分享给大家供大家参考,具体如下:

历史上,不同的人类聚居地可能有不同的历法,因而记录下来的资料中日期的换算就很麻烦。幸好今天我们统一使用公元纪年法。当然,这种历法对求两个日期差多少天也不是十分简便,但毕竟是可以忍受的。

下面的程序计算了两个日期的差值,两个日期都使用公元纪年法。

    #include <bits/stdc++.h>using namespace std;
    int to_day(int y, int m, int d){
    int mon[] = {
    0,31,28,31,30,31,30,31,31,30,31,30,31}
    ;
    int day = 0;
    int i;
    for(i=1;
    i<y;
    i++){
    day += (i%4==0 && i%100!=0 || i%400==0)? 366 : 365;
    }
    if(y%4==0 && y%100!=0 || y%400==0) mon[2]++;
    for(i=1;
    i<m;
    i++){
    day += mon[i];
    }
    return day + d;
    }
    int diff(int y1, int m1, int d1, int y2, int m2, int d2){
    int a = to_day(y1, m1, d1);
    int b = to_day(y2, m2, d2);
    return b-a;
    }
    int main({
    //int n = diff(1864,12,31,1865,1,1);
    int n = diff(1864,12,31,2012,3,18);
    printf("%dn", n);
    return 0;
    }
    int n = diff(1864,12,31,2012,3,18);
    // 输出 53768

PS:这里再为大家推荐几款关于日期与天数计算的在线工具供大家使用:

在线日期/天数计算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi

在线万年历日历:
http://tools.jb51.net/bianmin/wannianli

在线阴历/阳历转换工具:
http://tools.jb51.net/bianmin/yinli2yangli

希望本文所述对大家C语言程序设计有所帮助。

相关热词搜索: C语言 计算 日期差