我想工作了幾個月的差異鍛鍊區別
在現階段,我有這樣的代碼:
dateInterval = [endDate timeIntervalSinceDate:startDate];
但是,返回值(秒),我想查看幾個月內的日期之間的差異。
我該怎麼做?
感謝
我想工作了幾個月的差異鍛鍊區別
在現階段,我有這樣的代碼:
dateInterval = [endDate timeIntervalSinceDate:startDate];
但是,返回值(秒),我想查看幾個月內的日期之間的差異。
我該怎麼做?
感謝
NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init];
[inputFormatter setDateFormat:@"dd/MM/yyyy"];
NSDate *startDate = [inputFormatter dateFromString:@"07/03/2011"];
NSDate *endDate = [inputFormatter dateFromString:@"07/06/2011"];
NSInteger month_delta = [[[NSCalendar currentCalendar] components: NSMonthCalendarUnit fromDate: startDate toDate: endDate options: 0] month];
NSLog(@"---------------------------->>%d", month_delta);
[inputFormatter release]; // <-- in case not using ARC
它會記錄:
-------------------- -------- >> 3
您可以從有問題的NSDates一個NSDateComponents,只是減去總個月。 (共個月= 12 *年+ currentMonth)
如果一年中沒有12個月會怎麼樣?如果你使用不同的日曆怎麼辦?有些日曆有閏月。 – 2011-03-07 18:25:51
+1這是正確的做法。它甚至可以工作12個月以上的差異。 – 2011-03-07 18:25:25