被csdn各种大牛打击的...继续加油...

今天翻了下《编程珠玑》,其实这本书感觉对自己还是有点深,吃不透啊。

看到一题,有一小问是给定两个日子,计算这两个日子的天数;

碰巧前几天做web作业也有差不多这题的,不过那一题直接调用系统函数的,两个日期一减/1000/60/60/24就是天数了;

c中还真不知道有没有这样强大的函数,如果有,各位告诉我一下;

说一下我实现的吧,给了两个日期,分别求出由公元元年开始过的天数,然后相减,即是相差的天数(正负不计较,大家都明白的);

/**********
* 2013-12-30
* _Luffy
* http://blog.csdn.net/xjm199
***********/
#include <stdio.h>
int isleapyear(int year)  //是否是闰年
{
return ((year % 4 == 0 && year % 100 != 0)|| year % 400 == 0);
}
int sum(int year, int month, int day)
{
int mon[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int sum = (year - 1) * 365;  //自公元1年来的天数
int i;
sum += (year - 1) / 4 + 1;  //能被4整除的都加上
sum -= (year - 1) / 100 + 1;  //其中被100整除的不是闰年
sum += (year - 1) / 400 + 1;  //实际上能被400整除的即为闰年
for(i = 0; i < month - 1; ++i)  //将本年的剩下的整月加上
sum += mon[i];
if(isleapyear(year) == 1 && month > 2)  //本年是否闰2月
++sum;
sum += day;  //本月的日子加上
return sum;
}
int main()
{
printf("%d\n", sum(2013, 11, 1) - sum(2013, 9, 30));
return 0;
}

sum中求得的就是由公元元年以来的日子;

结果如下:

32
Process returned 0 (0x0)   execution time : 0.331 s
Press any key to continue.

小工程可见:http://download.csdn.net/detail/xjm199/6790267

欢迎各位提点...o(∩_∩)o

两个日期之间的天数--【编程珠玑】相关推荐

  1. 如何利用计算机计算天数,如何应用Win10系统电脑中的计算器计算两个日期之间的天数?...

    如何应用Win10系统电脑中的计算器计算两个日期之间的天数? 相信很多小伙伴都有在使用windows10系统的电脑,其中的计算器如何才能用来计算两个日期之间的天数呢?方法很简单,下面小编就来为大家介绍 ...

  2. 如何利用计算机计算天数,计算机如何计算两个日期之间的天数

    计算机是如何计算两个日期之间的天数的,这个问题看起来好像很简单,但是仔细一想,好像还没那么简单,月与月之间天数不一样,平年和闰年也会影响天数. 举个例子: 2017年2月1日-2017年6月1日中间有 ...

  3. Joda-Time中两个日期之间的天数

    本文翻译自:Number of days between two dates in Joda-Time How do I find the difference in Days between two ...

  4. 微软面试题目(一) 计算两个日期之间的天数

    微软的面试,没能参加啊,只好打听了下题目,其中一题是在20分钟内写出:计算两个日期之间天数的方法.昨天晚上想了一下,今天实现了一下,经过调试,差不多一个小时才弄好,惭愧啊 代码如下: /******* ...

  5. php做一个计算日期之间天数,PHP计算任意两个日期之间的天数

    PHP面试题中,关于日期的题目作为基础考题经常出现,下面讨论一下获取两个日期之间的天数的方法. 收到一个答案,拆分年.月.日,分别进行减法,然后统计天数,好累. 针对低版本的PHP可以用下面的方式搞定 ...

  6. 计算机数日期,计算机如何计算两个日期之间的天数

    计算机是如何计算两个日期之间的天数的,这个问题看起来好像很简单,但是仔细一想,好像还没那么简单,月与月之间天数不一样,平年和闰年也会影响天数. 举个例子: 2017年2月1日-2017年6月1日中间有 ...

  7. sql年月日加减法,计算两个日期之间的天数

    1.年月日加减法(时间字段为  hiredate,表名为 emp) DB2 selecthiredate -5 day as hd_sub_5day,hiredate +5 day as hd_add ...

  8. DATEDIFF() 函数返回两个日期之间的天数

    定义和用法 DATEDIFF() 函数返回两个日期之间的天数. 语法 DATEDIFF(date1,date2) date1 和 date2 参数是合法的日期或日期/时间表达式. 注释:只有值的日期部 ...

  9. wps表格日期计算天数_如何计算Google表格中两个日期之间的天数

    wps表格日期计算天数 If you want to count the number of days between two dates, you can use the DAYS, DATEDIF ...

  10. iOS-计算两个日期之间的天数

    //计算两个日期之间的天数 + (NSInteger) calcDaysFromBegin:(NSDate *)beginDate end:(NSDate *)endDate { //创建日期格式化对 ...

最新文章

  1. 苏黎世联邦理工学院SML课题组招收统计机器学习全奖博士生
  2. github/gitlab同时管理多个ssh key
  3. 【全真互联网下音视频通信技术演进】
  4. Intellij IDEA 重置所有工具栏 Intellij IDEA 中的 Debug 控制台输出窗口不见了的解决办法
  5. android:contentDescription
  6. Mybatis源码之插件模块分析
  7. jsoup解析和遍历一个html文档详解
  8. 安装阿里Java代码规约插件
  9. 25年面试官首次揭秘——世界500强面试题
  10. 微博android签名工具,微博签名
  11. 微软笔试题-老鼠与毒药
  12. 谷歌邮箱(@gmail.com):两步验证+应用专用密码登录
  13. 笔记本电脑把BlackBerry当modem上网
  14. 预处理器 - 记号传递操作符##
  15. KDL简介---KDL、PyKDL、pykdl_utils之间关系
  16. 连续潜在变量---主成分分析
  17. 一本通题解——1438:灯泡
  18. vue页面的定时刷新
  19. pinbox: 我用过最好的收藏工具
  20. Qt Creator 使用 QMediaPlayer 播放音频无声音

热门文章

  1. 选择结构ifelse练习题
  2. 2020 2 跳线法兰
  3. 第20章-van Emde Boas树 20.1-基本方法
  4. 云主机装黑果实践(1):deepin上qemu+kvm装黑果
  5. 传智播客/黑马程序员/JavaEE+Android28期就业班下载地址
  6. IDEMIA与JAC合作在日本第五级球场成功测试非接触式生物识别访问技术
  7. python将excel数据导入ppt_使用python将excel数据导入数据库
  8. 【已解决】PS自动退出并显示“在退出之前存储对Adobe Photoshop文档的更改吗?”
  9. 点击图片放大全屏加载,再次点击图片/文档回到原来位置
  10. PowerPoint超链接点击变色