-(NSString *)getDate:(NSString *)str
{
NSString *date = [[NSString alloc]init];
int day = (int)[self getWeak:str];
if (day>0) {
if (day>7) {
NSArray *arr = [str componentsSeparatedByString:@"-"];
NSString *pMon = [arr objectAtIndex:1];
NSString *pDay = [arr objectAtIndex:2];
int mon = [pMon intValue]-1;
NSArray *monArr = @[@"一月",@"二月",@"三月",@"四月",@"五月",@"六月",@"七月",@"八月",@"九月",@"十月",@"十一月",@"十二月"];
date = [NSString stringWithFormat:@"%@\n%@",pDay,[monArr objectAtIndex:mon]];
}
else{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh-CN"];
[dateFormatter setDateFormat: @"yyyy.MM.dd.EEEE"];
NSDate *today = [NSDate date];
NSString *st = [dateFormatter stringFromDate:today];
NSArray *arr = [st componentsSeparatedByString:@"."];
NSString *pWeek = [arr objectAtIndex:3];
NSArray *arr1 = @[@"星期一",@"星期二",@"星期三",@"星期四",@"星期五",@"星期六",@"星期日"];
NSArray *arr2 = @[@"周一",@"周二",@"周三",@"周四",@"周五",@"周六",@"周日"];
NSArray *arr3 = @[@"下周一",@"下周二",@"下周三",@"下周四",@"下周五",@"下周六",@"下周日"];
for (int i=0; i<[arr1 count]; i++) {
int a = 0;
if ([pWeek isEqualToString:[arr1 objectAtIndex:i]]) {
a = i;
int dd = a+day;
if (day==0) {
date = @"今天";
}else if (day==1){
date = @"明天";
}else if (dd < 7) {
date = [arr2 objectAtIndex:dd];
}else if (dd >= 7 && dd<14){
int w = dd%7;
date = [arr3 objectAtIndex:w];
}
}
}
}
}else{
NSArray *arr = [str componentsSeparatedByString:@"-"];
NSString *pMon = [arr objectAtIndex:1];
NSString *pDay = [arr objectAtIndex:2];
int mon = [pMon intValue]-1;
NSArray *monArr = @[@"一月",@"二月",@"三月",@"四月",@"五月",@"六月",@"七月",@"八月",@"九月",@"十月",@"十一月",@"十二月"];
date = [NSString stringWithFormat:@"%@\n%@",pDay,[monArr objectAtIndex:mon]];
}
return date;
}
-(NSInteger)getWeak:(NSString *)time
{
NSDate *today = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat: @"yyyy-MM-dd"];
NSString *st = [dateFormatter stringFromDate:today];
NSDate *staDate = [dateFormatter dateFromString:st];
NSDateFormatter *dateFor = [[NSDateFormatter alloc] init];
[dateFor setDateFormat: @"yyyy-MM-dd"];
NSDate *endDate =[dateFor dateFromString:time];
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSUInteger unitFlags = NSMonthCalendarUnit | NSDayCalendarUnit;
NSDateComponents *components = [gregorian components:unitFlags fromDate:staDate toDate:endDate options:0];
NSInteger days = [components day];
return days;
}
写的可能有些负责和啰嗦
getDate 这个方法中,传入的日期格式为 yyyy-MM-dd