2009-11-26 65 views
0

數週我有以下代碼:在一個月

NSDate *dateNow = [[NSDate alloc] init]; 
NSTimeInterval timeDifference = [usersDate timeIntervalSinceDate:dateNow]; 
// Get the system calendar 
NSCalendar *sysCalendar = [NSCalendar currentCalendar]; 

// Create the NSDates 
NSDate *date1 = [[NSDate alloc] init]; 
NSDate *date2 = [[NSDate alloc] initWithTimeInterval:timeDifference sinceDate:date1]; 

// Get conversion to months, days, hours, minutes 
unsigned int unitFlags = NSWeekCalendarUnit | NSYearCalendarUnit | NSMonthCalendarUnit | NSSecondCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSDayCalendarUnit | NSMonthCalendarUnit; 

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

NSLog(@"Break down: %d Years, %d months, %d Weeks, %d days %d Hours, %d Minutes, %d Seconds", [breakdownInfo year], [breakdownInfo month], [breakdownInfo week], [breakdownInfo day], [breakdownInfo hour], [breakdownInfo minute], [breakdownInfo second]); 

它打印輸出,如:

Break down: 0 Years, 5 months, 3 Weeks, 4 days 2 Hours, 48 Minutes, 20 Seconds 

我其實並不需要的月數,直到日期,但總的週數,是否有反正我可以修改代碼來做到這一點?我不想簡單地假設1個月= 4周,因爲這無疑是錯誤的。

親切的問候

回答

2

不工作,它只是使用:

unsigned int unitFlags = NSWeekCalendarUnit; 

+0

是的,它的確如此。 :) – Pascal 2009-11-28 15:45:55