原文:http://www.cnblogs.com/A--G/p/4759810.html
一、獲取當前日期需要調用一個簡單的方法:[NSDate date];
//獲取現在的日期

1 -(NSString *)getCurrentDate{ 2 3 NSDateFormatter *date_formatter = [[NSDateFormatter alloc] init]; 4 [date_formatter setDateFormat:@"yyyy-MM-dd"]; 5 NSString *current_date_str = [date_formatter stringFromDate:[NSDate date]]; 6 7 return current_date_str; 8 }
二、獲取n天后的日期(n為負數表示往前)
這里分2步:
1.首先獲取當前日期 [NSDate date];
2.調用 initWithTimeIntervalSinceNow方法來推移時間,這個方法是傳入推移時間的秒數,
所以,其實你只需要把所推移的時間換成秒數即可,下面是我封裝的方法:
//獲取前n天的日期

1 -(NSString *)getNDay:(NSInteger)n{ 2 3 NSDate*nowDate = [NSDate date]; 4 5 NSDate* theDate; 6 7 if(n!=0){ 8 9 NSTimeInterval oneDay = 24*60*60*1; //1天的長度 10 theDate = [nowDate initWithTimeIntervalSinceNow: oneDay*n ];//initWithTimeIntervalSinceNow是從現在往前后推的秒數 11 12 }else{ 13 14 theDate = nowDate; 15 } 16 17 NSDateFormatter *date_formatter = [[NSDateFormatter alloc] init]; 18 [date_formatter setDateFormat:@"yyyy-MM-dd"]; 19 NSString *the_date_str = [date_formatter stringFromDate:theDate]; 20 21 return the_date_str; 22 }
當然,一般返回的是時間的字符串,需要用NSDateFormatter來設置時間日期格式。