【原】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 }
getCurrentDate

二、获取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 }
getNDay:

当然,一般返回的是时间的字符串,需要用NSDateFormatter来设置时间日期格式。

原文地址:https://www.cnblogs.com/A--G/p/4759810.html