封裝了一個小方法,返回當前時間的前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轉換為字符串時會自動實現消除時間差的。