返回当前时间的前n天或则后n天的时间

封装了一个小方法,返回当前时间的前n天或则后n天的时间, 返回所需要时间的字符串

/**

*  @author zhengju, 16-06-28 10:06:48

*

*  @brief 返回当前时间的前n天或则后n天的时间

*

*  @param integer 传入的时间天数

*

*  @return 返回当前时间的前n天或则后n天的时间, 返回所需要时间的字符串

*/

- (NSString *)dateStringFromNowTimeInDays:(NSInteger)integer{

//获得系统时间

NSDate *  currentDate=[NSDate date];

NSDateFormatter  *dateformatter=[[NSDateFormatter alloc] init];

[dateformatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];

NSDateComponents *dateComponent = [[NSDateComponents alloc]init];

[dateComponent  setDay:integer];

NSCalendar *Calendar=[NSCalendar currentCalendar];

NSDate * newDate =  [Calendar dateByAddingComponents:dateComponent toDate:currentDate options:0];

NSString * string = [dateformatter stringFromDate:newDate];

return string;

}

比如时间integer传入7返回一周之后的时间字符串,传入-7返回一周之前的时间字符串,得到的当前时间currentDate是有时间差的,与当前时间相差八个小时, 此时并不用

NSTimeInterval  timeZoneOffset=[[NSTimeZone systemTimeZone] secondsFromGMT];

NSDate  * newDate=[oldDate dateByAddingTimeInterval:timeZoneOffset];

消除时间差,NSDateComponents类的方法- (NSString *)stringFromDate:(NSDate *)date转换为字符串时会自动实现消除时间差的。

你可能感兴趣的:(返回当前时间的前n天或则后n天的时间)