问题描述:如2010-03-20与2020-03-20,相差3653天。
方法描述:分别计算两个时间点距离0000-00-00时的天数,然后取差值
编译环境:vc++6.0
代码:

#include <stdio.h>
#include <math.h>
#define leapYear(y)  ((y%4==0)&&(y%100!=0)||(y%400==0))    //宏定义,判断是否是闰年/*计算两个日期之间相差多少天*/
struct date
{int years;int months;int days;
};int days_on_month[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 }; //分别对应1到12月的天数,a[0]空着int days_date(struct date s)              //以0000-00-00时为基准,计算过去了多少天
{int sum=0;                                //统计天数for (int i = 0; i < s.years; i++)      //年份{if (leapYear(i))                //判断是否是闰年sum += 366;else sum += 365;}if (leapYear(i))days_on_month[2]=29;                //闰年二月为29天elsedays_on_month[2]=28;                 //这步不可以省略for (int k = 1; k < s.months; k++)      //月份sum += days_on_month[k];return sum+s.days;                       //加上天数 返回
}int diff(struct date s1, struct date s2)      //计算两个时间段,天数差函数
{return abs(days_date(s1)-days_date(s2));
}int main()
{struct date s1, s2;printf("输入日期1(yyyy-mm-dd):\n");scanf("%d-%d-%d", &s1.years, &s1.months, &s1.days);printf("输入日期2(yyyy-mm-dd):\n");scanf("%d-%d-%d", &s2.years, &s2.months, &s2.days);printf("相差%d天\n", diff( s1,  s2));return 0;
}

测试案例:

计算两个日期之间,相差多少天C语言详解相关推荐

  1. java怎么计算相隔多少天_java计算两个日期之间相差天数和相隔天数详解

    大家看到文章标题"两个日期之间相差天数和相隔天数",是否有疑惑呢!从中文字面理解,"相差"和"相隔"是有区别的,然而就是这些区别害死很多人, ...

  2. 计算两个日期之间相差的天数(带带负数) 支持格式YYYY-mm-dd和YYYY-mm-dd HH:mm:ss...

    /*** 计算两个日期之间相差的天数(带带负数) 支持格式YYYY-mm-dd比较* @param higDate 减数* @param lowDate 被减数* @returns 差值天数 格式不正 ...

  3. 日期间隔计算器-计算两个日期之间相差多少天-计算某天之后的多少天是几号计算器

    我们在编程过程中不可避免会遇到计算两个日期之间相差多少天-计算某天之后的多少天是几号 如下图 具体的地址点击下方链接 即可快快速直达 https://www.codelovers.cn/tools/d ...

  4. C#计算两个日期之间相差的天数

    C#计算两个日期之间相差的天数 private int DateDiff(DateTime dateStart, DateTime dateEnd) { DateTime start = Conver ...

  5. js 计算两个日期之间相差的天数,并适配 Ios

    计算两个日期之间相差的天数 需求 :通过两个日期,计算当前时间与过去某个时间之间相差的天数 注意 :时间日期的格式 "yyyy-MM-dd HH:mm:ss"格式化日期 , 备注 ...

  6. java 日期相差月数_Java 计算两个日期之间相差的月数

    /** * 计算两个日期之间相差的月数 * * @param date1 * @param date2 * @return */ public static int getMonths(Date da ...

  7. oracle计算两个日期之间相差几年几个月几天

    1.通过months_between() 计算两个日期之间相差几个月,并通过floor() 取整,例如 floor(months_between(date1,date2)) 2.通过相差的月份取相差年 ...

  8. java计算两个日期之间相差的天数的四种方法

    计算两个日期之间相差的天数的四种方法 第一种:时间戳的方式,计算两个日期的时间戳的差,再除当天的毫秒数即可得到相差的天数. public static void main(String[] args) ...

  9. java 计算日期相差天数_JAVA计算两个日期之间相差的天数

    这是本人第一次写博客,主要计算两个日期之间相差的天数 import java.text.ParseException; import java.util.Date; import org.apache ...

  10. 计算两个日期之间的天数(C语言实现)

    计算两个日期之间的天数(C语言实现) #include <stdio.h> int date(int n,int m1,int d1,int m,int m2,int d2) {int i ...

最新文章

  1. 清华大学《高级机器学习》课件和Fellow专家特邀报告(附pdf下载)
  2. Ext分区文件恢复工具extundelete
  3. 五十四、最基础的冒泡排序
  4. android libc 有哪些函数_35K成功入职:腾讯视频面试Android经历!「含面试题+答案」...
  5. 2017.11.20T19_5
  6. Kafka从上手到实践 - 实践真知:Kafka Java Consumer | 凌云时刻
  7. Gerber文件介绍
  8. 从限定词开始 - 词性识别在人工智能自然语言处理中的不足与改进
  9. SQL 已死,NoSQL才是王道?醒醒吧,别瞎说八道了
  10. 宝宝起名神器小程序源码_支持多种流量主模式
  11. 观展指南|《星火·新生》沉浸式体验展倒计时1天
  12. python医院自动化抢号脚本
  13. aardio - 调用Python库下载蓝奏盘文件
  14. 人物志 | 美团女技术总监任登君:不要给自己的人生设限
  15. Lua+Redis+OpenResty实现电商详情页
  16. 跟着团子学SAP PS:创建WBS元素组 KJH1/CJSG
  17. 搜索下半场:微信要做大搜索吗?
  18. V-rep 二级摆仿真
  19. html标签引入css样式的四种方式
  20. 黑莓9000刷机WIN7+DM6.0+ROM5.0+BBSAKv成功及安装使用经验

热门文章

  1. 应届生软件测试个人简历模板,软件测试实习生个人简历模板.doc
  2. JESD204B调试4
  3. 20201031B组 T3 生命之树
  4. 局域网文件服务器单独文件夹加密,局域网 如何给共享文件夹加密
  5. C# object 转 int
  6. 【英特尔杯】Python调取萤石网络摄像头视频
  7. Excel的通配符使用
  8. ABBYY教程—PDF识别模式如何使用?
  9. mysql 1.4安装步骤_1.4.1 MySql安装配置
  10. Opencv 关于Kmeans算法