1. int CalculateDays(int ys, int ms, int ds, int ye, int me, int de)
  2.  
  3. {
  4.  
  5. int days = CalcYearRestDays(ys, ms, ds);
  6.  
  7. if(ys != ye) /*不是同一年的日期*/
  8.  
  9. {
  10.  
  11. if((ye - ys) >= ) /*间隔超过一年,要计算间隔的整年时间*/
  12.  
  13. {
  14.  
  15. days += CalcYearsDays(ys + , ye);
  16.  
  17. }
  18.  
  19. days += CalcYearPassedDays(ye, me, de);
  20.  
  21. }
  22.  
  23. else
  24.  
  25. {
  26.  
  27. days = days - CalcYearRestDays(ye, me, de);
  28.  
  29. }
  30.  
  31. return days;
  32.  
  33. }
  34.  
  35. /*计算一年中过去的天数,包括指定的这一天*/
  36.  
  37. int CalcYearPassedDays(int year, int month, int day)
  38.  
  39. {
  40.  
  41. int passedDays = ;
  42.  
  43. int i;
  44.  
  45. for(i = ; i < month - ; i++)
  46.  
  47. {
  48.  
  49. passedDays += daysOfMonth[i];
  50.  
  51. }
  52.  
  53. passedDays += day;
  54.  
  55. if((month > ) && IsLeapYear(year))
  56.  
  57. passedDays++;
  58.  
  59. return passedDays;
  60.  
  61. }
  62.  
  63. /*计算一年中还剩下的天数,不包括指定的这一天*/
  64.  
  65. int CalcYearRestDays(int year, int month, int day)
  66.  
  67. {
  68.  
  69. int leftDays = daysOfMonth[month - ] - day;
  70.  
  71. int i;
  72.  
  73. for(i = month; i < MONTHES_FOR_YEAR; i++)
  74.  
  75. {
  76.  
  77. leftDays += daysOfMonth[i];
  78.  
  79. }
  80.  
  81. if((month <= ) && IsLeapYear(year))
  82.  
  83. leftDays++;
  84.  
  85. return leftDays;
  86.  
  87. }
  88.  
  89. /*
  90.  
  91. 79 计算years年1月1日和yeare年1月1日之间的天数,
  92.  
  93. 80 包括years年1月1日,但是不包括yeare年1月1日
  94.  
  95. 81 */
  96.  
  97. int CalcYearsDays(int years, int yeare)
  98.  
  99. {
  100.  
  101. int days = ;
  102.  
  103. int i;
  104.  
  105. for(i = years; i < yeare; i++)
  106.  
  107. {
  108.  
  109. if(IsLeapYear(i))
  110.  
  111. days += DAYS_OF_LEAP_YEAR;
  112.  
  113. else
  114.  
  115. days += DAYS_OF_NORMAL_YEAR;
  116.  
  117. }
  118.  
  119. return days;
  120.  
  121. }

iOS一些关于日历的问题的更多相关文章

  1. 设置代码ios 6添加日历事件No calendar has been set.错误

    查了好多资料,发明还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记录吧! 在iOS 6做日历事件添加时,来来回回报错,No calendar has been set ...

  2. iOS - OC NSCalendar 日历

    前言 @interface NSCalendar : NSObject <NSCopying, NSSecureCoding> NSCalendar 对世界上现存的常用的历法进行了封装,既 ...

  3. iOS - Swift NSCalendar 日历

    前言 public class NSCalendar : NSObject, NSCopying, NSSecureCoding NSCalendar 对世界上现存的常用的历法进行了封装,既提供了不同 ...

  4. iOS中的日历

    iOS自带三种日历,公历.佛教日历和日本日历,要设置日历可以进入"设置-通用-语言与地区-日历"设置,我们中国使用的iPhone默认设置成公历.而泰国人使用的iPhone默认设置的 ...

  5. iOs 自定义UIView 日历的实现 Swift2.1

    学习Swift有一个月了,动手写一个UIView吧. 所有源代码在最后,直接用就可以了,第一次写Swift,和C#,Java还是有区别的 (博客园可以考虑在代码插入中添加Swift的着色了) 1  函 ...

  6. iOS 给三方日历加上农历

    首先创建一个农历文件 LunarCalendar.h // // LunarCalendar.h // Hnair4iPhone // // Created by yingkong1987 on 13 ...

  7. ios中VRGCalendarView日历控件

    http://pan.baidu.com/share/link?shareid=4166002480&uk=923776187 官网 https://github.com/TjeerdVuri ...

  8. 一些iOS高效开源类库

    因为iOS SDK相对比较底层,所以开发者就得受累多做一些体力活.不过幸运的是,有很多第三方的类库可以用来简化很多不必要的工作.笔者整理了一下在本人学习过程中用到的一些比较有用Objective-C开 ...

  9. IOS一些高效的第三方框架库

    MBProgressHUD ——进展指示符库 苹果的应用程序一般都会用一种优雅的,半透明的进度显示效果,不过这个API是不公开的,因此你要是用了,很可能被清除出AppStore.而 MBProgres ...

随机推荐

  1. call

    -------siwuxie095 call 调用另一个批处理程序或自身程序段,调用完,程序会回到原来 call 的地方继续执行 如果在脚本或批处理文件外使用 call,则不会在命令行起作用 语法 c ...

  2. C++常用输出 cout、cerr、clog

    三者在C++中都是标准IO库中提供的输出工具: cout:写到标准输出的ostream对象: cerr:输出到标准错误的ostream对象,常用于程序错误信息: clog:也是输出标准错误流(这点儿和 ...

  3. python实验一:画图

    题目:画图,学用rectangle画方形. rectangle(int left, int top, int right, int bottom) 参数说明:(left ,top )为矩形的左上坐标, ...

  4. Hibernate控制台显示创建数据库表语句

    package cqvie.yjq.View; import org.hibernate.Session; import org.hibernate.Transaction; import org.h ...

  5. ubuntu-apache如何解决跨域资源访问

    参考:http://blog.csdn.net/emily201314/article/details/52877277 步骤1 #打开apache的headers模块 sudo a2enmod he ...

  6. ES6初学习

    建议下一个chrome的插件Scratch.js[https://chrome.google.com/webstore/detail/alploljligeomonipppgaahpkenfnfkn] ...

  7. mock测试框架Mockito

    无论是敏捷开发.持续交付,还是测试驱动开发(TDD)都把单元测试作为实现的基石.随着这些先进的编程开发模式日益深入人心,单元测试如今显得越来越重要了.在敏捷开发.持续交付中要求单元测试一定要快(不能访 ...

  8. python python 入门学习之网页数据爬虫cnbeta文章保存

    需求驱动学习的动力. 因为我们单位上不了外网所以读新闻是那么的痛苦,试着自己抓取网页保存下来,然后离线阅读.今天抓取的是cnbeta科技新闻,抓取地址是http://m.cnbeta.com/wap/ ...

  9. 2016年iOS技术圈回顾

    2016年同2015年一样,在我还没有做好心理准备的时候,一晃神就到了年底.年关将近,不知诸君心情如何,年初的规划实现了多少,来年的计划又是否已有了眉目.年过三十的Peak君感觉年关是越来越难过了,越 ...

  10. oracle for loop循环以及游标循环

    1. for in loop形式 DECLARE    CURSOR c_sal IS SELECT employee_id, first_name || last_name ename, salar ...