3月到4月之间的天数

时间:2016-03-01 10:52:04

标签: objective-c xcode

在Objective-C中,我计算两个日期之间的天数,一切正常,3月到4月除外,

见下面的结果:

date1: 2015-03-31 21:00:00 +0000
date2: 2015-03-28 22:00:00 +0000
number of days: -3

date1: 2015-03-31 21:00:00 +0000
date2: 2015-03-29 22:00:00 +0000
number of days: -1


date1: 2015-03-31 21:00:00 +0000
date2: 2015-03-30 22:00:00 +0000
number of days: 0


date1: 2015-03-31 21:00:00 +0000
date2: 2015-03-31 22:00:00 +0000
number of days: 0

使用的代码是:

components = [self.calendar components:NSCalendarUnitDay
                                                      fromDate:date1
                                                        toDate:date2
options:NSCalendarWrapComponents];

2 个答案:

答案 0 :(得分:0)

https://en.wikipedia.org/wiki/Daylight_saving_time_by_country有些国家是在游行的最后一周开始的。

显然,你的日历对象知道夏令时,它实际上计算了你将时钟向前推进的时间。

这实际上工作正常,因为正确计算24小时单位的天数。

答案 1 :(得分:0)

将日期的小时设置为下午12点,这将解决问题