iOS 日期格式

标签 ios localization nsdateformatter date-format

在美国区域设置中使用该应用程序时,我需要设置以下日期格式: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”等。 like this

这对你可能有帮助

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);

关于iOS 日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10103654/

相关文章:

ios - 我可以使用日期格式mm/dd/yy吗?

iOS SpringBoard 不加载通知服务扩展

iphone - 使用#DEFINE共享托管对象上下文

iOS/Swift : Showing email addresses suggestions on keyboard for UITextFields

angularjs - 字符串中的 Angular 2 绑定(bind)表达式(ng2-translate)

objective-c - 将 NSString 转换为 NSDate 的问题

ios - 应用因广告标识符 (IDFA) 而被拒绝

php - 葡萄牙语 (pt_PT) 的本地化(双)变音位

java - 无法获得特定国家/地区的本地化响应

ios - NSDateFormatter Twitter JSON API