将月份更改为确切的天数?

时间:2009-11-26 05:53:34

标签: iphone

我正在使用以下代码来正确获取月份....它返回正确的数据..但它给出了 我从两个日期开始2个月...假设我给了两个日期,比如janauary to march, 它会给2个月......我怎样才能完全改变天数(包括feb)......

NSCalendar *sysCalendar = [NSCalendar currentCalendar];


unsigned int unitFlags = NSSecondCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSDayCalendarUnit | NSMonthCalendarUnit;

NSDateComponents *breakdownInfo = [sysCalendar components:unitFlags fromDate:date1  toDate:date2  options:0];

NSLog(@"Break down: %dmons", [breakdownInfo month]);

2 个答案:

答案 0 :(得分:1)

您可以使用NSDateComponents,但您可以通过计算每个日期的timeInterval的差异来计算天数。 NSTimeInterval是一个计算秒数的浮点数。

#define kSecondsInDay 86400

int numberOfDays = [date2 timeIntervalSinceDate:date1] / kSecondsInDay;

答案 1 :(得分:0)

仅在创建日期组件时指定NSDayCalendarUnit标记,您将获得[breakdownInfo day]的结果天数。