2013-10-12 67 views
3

我試圖從當前日期獲得一個月。iOS距離當前日期一個月。

下面是我有,它是返回:4027-09-24 16:59:00 +0000。 currentDate是正確的。這是怎麼回事?

// Get todays date to set the monthly subscription expiration date 
NSDate *currentDate = [NSDate date]; 
NSLog(@"Current Date = %@", currentDate); 
NSDateComponents *dateComponents = [[NSCalendar currentCalendar] components:NSMonthCalendarUnit | NSDayCalendarUnit | NSYearCalendarUnit fromDate:currentDate]; 
dateComponents.month = dateComponents.month + 1; 
NSDate *currentDatePlus1Month = [[NSCalendar currentCalendar] dateByAddingComponents:dateComponents toDate:currentDate options:0]; 
NSLog(@"Date = %@", currentDatePlus1Month); 
+0

你的代碼*增加*2013年,11個月......爲當前日期。 –

回答

12

試試這個:

// Get todays date to set the monthly subscription expiration date 
NSDate *currentDate = [NSDate date]; 
NSLog(@"Current Date = %@", currentDate); 

NSDateComponents *dateComponents = [NSDateComponents new]; 
dateComponents.month = 1; 

NSDate *currentDatePlus1Month = [[NSCalendar currentCalendar] dateByAddingComponents:dateComponents toDate:currentDate options:0]; 
NSLog(@"Date = %@", currentDatePlus1Month); 
+0

謝謝兄弟,就是這樣! –

-1
NSDate *currentDate = [NSDate date]; 

NSCalendar* calendar = [NSCalendar currentCalendar]; 

NSDateComponents* components = [calendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:currentDate]; 
    // Get necessary date components 

[components month]; //gives you month 

[components day]; //gives you day 

[components year]; //gives you year 
相關問題