首页 > 移动平台 > 详细

iOS一些关于日历的问题

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

 

iOS一些关于日历的问题

原文:http://www.cnblogs.com/Noah-li/p/4670476.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!