直接上代码
a,获取n天后日期
-(NSString *)getNDay:(NSInteger)n{
NSDate*nowDate = [NSDate date];
NSDate* theDate;
if(n!=0){
NSTimeInterval oneDay = 24*60*60*1; //1天的长度
theDate = [nowDate initWithTimeIntervalSinceNow: oneDay*n ];//initWithTimeIntervalSinceNow是从现在往前后推的秒数
}else{
theDate = nowDate;
}
NSDateFormatter *date_formatter = [[NSDateFormatter alloc] init];
[date_formatter setDateFormat:@"MM月dd日"];
NSString *the_date_str = [date_formatter stringFromDate:theDate];
return the_date_str;
}
b,获取当天日期返回字符串
-(NSString *)getDate:(NSDate *)date
{
NSDateFormatter *format1=[[NSDateFormatter alloc]init];
[format1 setDateFormat:@"MM月dd日"];
NSString *str1=[format1 stringFromDate:date];
return str1;
}
c 传入日期返回相对应的周几
-(NSString *)getweek:(NSDate *)date{
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
// NSDate *now;
NSDateComponents *comps = [[NSDateComponents alloc] init];
NSInteger unitFlags = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitWeekday |
NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
// now=[NSDate date];
comps = [calendar components:unitFlags fromDate:date];
NSArray * arrWeek=[NSArray arrayWithObjects:@"周日",@"周一",@"周二",@"周三",@"周四",@"周五",@"周六", nil];
NSString *str = [NSString stringWithFormat:@"%@",[arrWeek objectAtIndex:[comps weekday] - 1]];
return str;
}
d,获取当前日期八天以后的日期
-(NSMutableArray *)latelyEightTime{
NSMutableArray *eightArr = [[NSMutableArray alloc] init];
for (int i = 0; i < 7; i ++) {
//从现在开始的24小时
NSTimeInterval secondsPerDay = i * 24*60*60;
NSDate *curDate = [NSDate dateWithTimeIntervalSinceNow:secondsPerDay];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"M月d日"];
NSString *dateStr = [dateFormatter stringFromDate:curDate];//几月几号
NSDateFormatter *weekFormatter = [[NSDateFormatter alloc] init];
//真机调试会出现问题 添加如下代码:
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
[weekFormatter setLocale:locale];
[weekFormatter setDateFormat:@"EEEE"];//星期几 @"HH:mm 'on' EEEE MMMM d"];
NSString *weekStr = [weekFormatter stringFromDate:curDate];
//转换英文为中文
NSString *chinaStr = [self cTransformFromE:weekStr];
//组合时间
NSString *strTime = [NSString stringWithFormat:@"%@ %@",dateStr,chinaStr];
[eightArr addObject:strTime];
}
return eightArr;
}
-(NSString *)cTransformFromE:(NSString *)theWeek{
NSString *chinaStr;
if(theWeek){
if([theWeek isEqualToString:@"Monday"]){
chinaStr = @"周一";
}else if([theWeek isEqualToString:@"Tuesday"]){
chinaStr = @"周二";
}else if([theWeek isEqualToString:@"Wednesday"]){
chinaStr = @"周三";
}else if([theWeek isEqualToString:@"Thursday"]){
chinaStr = @"周四";
}else if([theWeek isEqualToString:@"Friday"]){
chinaStr = @"周五";
}else if([theWeek isEqualToString:@"Saturday"]){
chinaStr = @"周六";
}else if([theWeek isEqualToString:@"Sunday"]){
chinaStr = @"周七";
}
}
return chinaStr;
}