iOSdate格式

1月1日,7月2日,11月28日,使用美国语言环境的应用程序时,需要格式化以下date

我该怎么做?

NSDateFormattersearch,但我无法设置适当的格式和默认格式太长。

 NSDateFormatter *format = [[NSDateFormatter alloc] init]; [format setDateFormat:@"MMMM dd'st'"]; NSDate *now = [[NSDate alloc] init]; NSString *dateString = [format stringFromDate:now]; NSLog(@"%@",dateString); 

这将给你所需的格式,但你需要添加一些条件来添加适当的'st','nd','rd'等这样的

这可能对你有帮助

 NSDateFormatter *format = [[NSDateFormatter alloc] init]; [format setDateFormat:@"MMMM dd"]; NSDate *now = [[NSDate alloc] init]; NSString *dateString = [format stringFromDate:[now dateByAddingTimeInterval:(-60*60*24*10)]]; NSMutableString *tempDate = [[NSMutableString alloc]initWithString:dateString]; int day = [[tempDate substringFromIndex:[tempDate length]-2] intValue]; switch (day) { case 1: **case 21: case 31:** [tempDate appendString:@"st"]; break; case 2: **case 22:** [tempDate appendString:@"nd"]; break; case 3: **case 23:** [tempDate appendString:@"rd"]; break; default: [tempDate appendString:@"th"]; break; } NSLog(@"%@",tempDate);