在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];
答案 0 :(得分:0)
https://en.wikipedia.org/wiki/Daylight_saving_time_by_country有些国家是在游行的最后一周开始的。
显然,你的日历对象知道夏令时,它实际上计算了你将时钟向前推进的时间。
这实际上工作正常,因为正确计算24小时单位的天数。
答案 1 :(得分:0)
将日期的小时设置为下午12点,这将解决问题