C语言计算日期差的方法示例

 更新时间:2017年06月16日 11:03:28   作者:YY''s  
这篇文章主要介绍了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("%d\n", 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++之重载 重定义与重写用法详解

    C++之重载 重定义与重写用法详解

    这篇文章主要介绍了C++之重载 重定义与重写用法详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • 关于C++的强制类型转换浅析

    关于C++的强制类型转换浅析

    C++的强制类型转换是我们在日常开发中经常会遇到的,下面这篇文章主要给大家介绍了关于C++强制类型转换的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2017-09-09
  • C语言实现栈的示例代码

    C语言实现栈的示例代码

    栈是一种特殊的线性表,只允许从一端进出数据,称为后进先出,先进后出。本文主要为大家介绍了C语言实现栈的示例代码,感兴趣的可以了解一下
    2022-06-06
  • C++构造函数+复制构造函数+重载等号运算符调用

    C++构造函数+复制构造函数+重载等号运算符调用

    这篇文章主要介绍了C++构造函数+复制构造函数+重载等号运算符调用,文章叙述详细,具有一定的的参考价值,需要的小伙伴可以参考一下
    2022-03-03
  • C++中pair使用的示例代码

    C++中pair使用的示例代码

    本文主要介绍了C++中pair使用的示例代码,用于存储两个不同类型的元素,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-02-02
  • 解析sizeof, strlen, 指针以及数组作为函数参数的应用

    解析sizeof, strlen, 指针以及数组作为函数参数的应用

    本篇文章是对sizeof, strlen, 指针以及数组作为函数参数的应用进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • 详解在C++中显式默认设置的函数和已删除的函数的方法

    详解在C++中显式默认设置的函数和已删除的函数的方法

    这篇文章主要介绍了在C++中显式默认设置的函数和已删除的函数的方法,文中讲到了C++11标准中的新特性,需要的朋友可以参考下
    2016-01-01
  • C语言中对字母进行大小写转换的简单方法

    C语言中对字母进行大小写转换的简单方法

    这篇文章主要介绍了C语言中对字母进行大小写转换的简单方法,是C语言入门学习中的基础知识,需要的朋友可以参考下
    2015-08-08
  • C++中使用function和bind绑定类成员函数的方法详解

    C++中使用function和bind绑定类成员函数的方法详解

    这篇文章主要介绍了C++中使用function和bind绑定类成员函数的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • C++泛型模板约束深入讲解

    C++泛型模板约束深入讲解

    C/C++ 作为 C# 语言的前置版本,ECMA工业化编程语言,自然是存在 “泛型模板约束” 的功能的,只是本文不以 C/C++ 20 新语法搞出来的 “requires” 关键字来实现,它很难用
    2022-09-09

最新评论