被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. C++ 关键字 extern
  2. 大话数据结构:多路查找
  3. [react] 你用过react版本有哪些?
  4. java复习系列[4] - Java IO
  5. Arduino入门笔记(6):温度传感器及感温杯实验
  6. 通向财务自由之路02_成功的决定因素:你
  7. 同事推荐的一部老电影 《魔鬼代言人》
  8. k8s集群部署二(自签TLS证书)
  9. 智能公交监控调度系统技术方案,等车不再等到心碎
  10. Windows10+clion+opencv时报错0xC0000139和0xC0000135的解决方法之一
  11. 俄罗斯方块游戏设计与实现
  12. windows 7 数据执行保护 开启关闭方法
  13. tensorflow2.3版本 LSTM作为最后输出层 报错Function call stack: train_function -> train_function -> train_functio
  14. 四种常见背包问题整理
  15. keydown、input、keyup
  16. [libxml2]_[C/C++]_[使用libxml2读取分析xml文件]
  17. oracle调优 oracle培训
  18. 工作碰到的问题解决积累
  19. 12.关于uniapp小程序设置页面背景色无效的问题及解决方案
  20. IT忍者神龟之Microsoft Office Enterprise 2007 简体版 企业版 序列号

热门文章

  1. 读书笔记-确定Icepak模型多级网格的级数
  2. codeforces 1536B Prinzessin der Verurteilung
  3. Google Play 隐私策略
  4. 对标苹果 M1,谷歌自研 ARM 芯片或将于 2023 年发布?
  5. 关于linux环境下访问Windows数据库的处理方法
  6. ASP.NET 2.0中使用Gridview控件的高级技巧
  7. 杭电计算机学硕调剂,2020年杭州电子科技大学考研调剂安排
  8. Android单元测试框架Robolectric3.0介绍(一)
  9. 【Linux系统】第8节 Linux系统软件分类及安装
  10. 51单片机——暴躁升旗手在线升旗(一款简陋的升旗装置)