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

发布时间 - 2026-01-11 01:55:00    点击率:

本文实例讲述了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./jisuanqi/date_jisuanqi

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

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

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


# C语言  # 计算  # 日期差  # C语言 动态内存分配详解  # C语言文件复制实例详解  # C语言数据结构之栈简单操作  # C语言数据结构之循环链表的简单实例  # C语言中判断一个char*是不是utf8编码  # C语言中双向链表和双向循环链表详解  # C 语言中strstr函数实例详解  # 给大家  # 能有  # 所述  # 几款  # 很麻烦  # 转换工具  # 再为  # 历史上  # 毕竟是  # 讲述了  # int  # to_day  # gt  # namespace  # std  # day  # amp  # stdc  # bianmin  # date_jisuanqi 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】  Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  如何在搬瓦工VPS快速搭建网站?  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  bootstrap日历插件datetimepicker使用方法  青岛网站建设如何选择本地服务器?  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  如何打造高效商业网站?建站目的决定转化率  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  Java垃圾回收器的方法和原理总结  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信  Android 常见的图片加载框架详细介绍  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  如何用虚拟主机快速搭建网站?详细步骤解析  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  打开php文件提示内存不足_怎么调整php内存限制【解决方案】  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  Laravel Fortify是什么,和Jetstream有什么关系  CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  北京网站制作公司哪家好一点,北京租房网站有哪些?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  javascript如何操作浏览器历史记录_怎样实现无刷新导航  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门  Laravel如何使用Gate和Policy进行授权?(权限控制)  Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】  深圳网站制作的公司有哪些,dido官方网站?  Laravel怎么实现模型属性的自动加密  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  如何在 React 中条件性地遍历数组并渲染元素  公司网站制作价格怎么算,公司办个官网需要多少钱?  JavaScript数据类型有哪些_如何准确判断一个变量的类型  如何在万网开始建站?分步指南解析  如何在阿里云域名上完成建站全流程?  如何在Windows 2008云服务器安全搭建网站?  如何在阿里云虚拟主机上快速搭建个人网站?  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  javascript事件捕获机制【深入分析IE和DOM中的事件模型】  Android Socket接口实现即时通讯实例代码  详解jQuery停止动画——stop()方法的使用  在线教育网站制作平台,山西立德教育官网?