封装了一个小方法,返回当前时间的前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转换为字符串时会自动实现消除时间差的。