在美国地区使用应用程序时,我需要格式化以下日期:1 月 1 日、7 月 2 日、11 月 28 日
我该怎么做?
用 搜索NSDateFormatter
,但我无法设置适当的格式,并且默认格式太长。
在美国地区使用应用程序时,我需要格式化以下日期:1 月 1 日、7 月 2 日、11 月 28 日
我该怎么做?
用 搜索NSDateFormatter
,但我无法设置适当的格式,并且默认格式太长。
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);