/**
* 时间前后计算
*
* @param date 传入要开始计算的时间
* @param Flag 正数为向前计算 负数向后计算 (天)
*
* @return 计算后的时间
*/
- (NSString *)getPriousorBeforeOrLaterDateFromDate:(NSDate *)date withFlag:(int)Flag
{
// 校验时间 差八小时
double interval = 0;
NSTimeZone *zone = [NSTimeZone systemTimeZone];
interval = [zone secondsFromGMTForDate:date];
NSDate *localeDate = [date dateByAddingTimeInterval: interval];
// 计算时间
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setDay:Flag];
NSCalendar *calender = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *mDate = [calender dateByAddingComponents:comps toDate:localeDate options:0];
NSString * dateStr = [self checkNowTimeStr:@"yyyy-MM-dd" nsdate:mDate];
return dateStr;
}
- (NSString *)checkNowTimeStr:(NSString *)str
nsdate:(NSDate *)dates
{
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
[formatter setDateFormat:str];
NSString *NowTime = [formatter stringFromDate:dates];
return NowTime;
}
// 修改[comps setDay:Flag]; 改变计算单位
@property NSInteger era;
@property NSInteger year;
@property NSInteger month;
@property NSInteger day;
@property NSInteger hour;
@property NSInteger minute;
@property NSInteger second;
@property NSInteger nanosecond NS_AVAILABLE(10_7, 5_0);
@property NSInteger weekday;
@property NSInteger weekdayOrdinal;
@property NSInteger quarter NS_AVAILABLE(10_6, 4_0);
@property NSInteger weekOfMonth NS_AVAILABLE(10_7, 5_0);
@property NSInteger weekOfYear NS_AVAILABLE(10_7, 5_0);
@property NSInteger yearForWeekOfYear NS_AVAILABLE(10_7, 5_0);