【原】iOS 获取当前和 前后n天的日期
原文: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来设置时间日期格式。