iOS 日期格式 2016 年 3 月 28 日 / 16:54pm

iOS Date format 28 Mar 2016 / 16:54pm

我想以字符串“2017-05-05T08:27:31.337Z”中的“2016 年 3 月 28 日/16:54pm”格式显示日期。我怎样才能做到这一点? iOS有没有内置方法?谢谢

使用 NSDateFormatter 作为您的概念

例如

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyyy-MM-dd'T'HH:mm:ss.SSSZ"];
NSDate *msgDate = [dateFormatter dateFromString:@"2017-05-05T08:27:31.337Z"];
 [dateFormatter setDateFormat:@"dd MMM yyyy / HH:mma"];
NSString *final = [dateFormatter stringFromDate:msgDate];

更新

在您的 dateFormatter 中添加 setAMSymbolsetPMSymbol

 [dateFormatter setAMSymbol:@"am"];
 [dateFormatter setPMSymbol:@"pm"];

完整答案

 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyyy-MM-dd'T'HH:mm:ss.SSSZ"];
NSDate *msgDate = [dateFormatter dateFromString:@"2017-05-05T08:27:31.337Z"];
[dateFormatter setDateFormat:@"dd MMM yyyy / HH:mma"];
[dateFormatter setAMSymbol:@"am"];
[dateFormatter setPMSymbol:@"pm"];
NSString *final = [dateFormatter stringFromDate:msgDate];

请参阅每行的说明或介绍

NSString *str = @"your date here..."; /// here this is your date with format yyyyy-MM-dd'T'HH:mm:ss.SSSZ

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; // here we create NSDateFormatter object for change the Format of date..
[dateFormatter setDateFormat:@"yyyyy-MM-dd'T'HH:mm:ss.SSSZ"]; //// here set format of date which is in your output date (means above str with format)

NSDate *date = [dateFormatter dateFromString: str]; // here you can fetch date from string with define format

dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd MMM yyyy / HH:mma"];// here set format which you want...

NSString *convertedString = [dateFormatter stringFromDate:date]; //here convert date in NSString
NSLog(@"Converted String : %@",convertedString);