加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 05:08:44 所属栏目:百科 来源:网络整理
导读:本篇章节讲解C语言计算日期差的方法。供大家参考研究具体如下: 历史上,不同的人类聚居地可能有不同的历法,因而记录下来的资料中日期的换算就很麻烦。幸好今天我们统一使用公元纪年法。当然,这种历法对求两个日期差多少天也不是十分简便,但毕

本篇章节讲解C语言计算日期差的方法。分享给大家供大家参考,具体如下:

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

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

#include <bits/stdc++.h>
using namespace std;
int to_day(int y,int m,int d)
{
  int mon[] = {0,31,28,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,1865,1,1);
  int n = diff(1864,2012,3,18);
  printf("%dn",n);
  return 0;
}
int n = diff(1864,18);// 输出 53768

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

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

在线万年历日历:
http://tools.aspzz.cn/bianmin/wannianli

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读