在 iOS 中将“1/31/2016 5:53:21 AM”格式设置为“31 Jan'16”

Format "1/31/2016 5:53:21 AM" to "31 Jan'16" in iOS

我正在从 json 获取格式为“1/31/2016 5:53:21 AM”的日期,我想将其转换为格式“2016 年 1 月 31 日”...

我试过这段代码..

myDate=@"01/31/2016 05:53:21 AM";
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"dd/MM/yyyy hh:mm:ss tt";
NSDate *dtNew = [dateFormatter dateFromString:myDate];
dateFormatter.dateFormat = @"dd MMM'YY";
NSLog(@"%@",[dateFormatter stringFromDate:yourDate]);

myDate 字符串无法转换为 NSDate。 & dtNewnil.

有人可以帮忙吗?

提前致谢。!!!

试试这个

 NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
                          // "1/31/2016 5:53:21 AM" // initial date
dateFormatter.dateFormat = @"MM/dd/yyyy hh:mm:ss a";
NSDate *dtNew = [dateFormatter dateFromString:@"1/31/2016 5:53:21 AM"];
                          // 31 Jan'16 // second date
dateFormatter.dateFormat = @"dd MMM''yy";
NSLog(@"%@",[dateFormatter stringFromDate:dtNew]);

最终输出为

试试这个,你应该使用格式结尾 'a' 和双 ' 来转义它。

NSString *myDate=@"01/31/2016 05:53:21 AM";
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
NSDate *dtNew = [dateFormatter dateFromString:myDate];
dateFormatter.dateFormat = @"dd MMM''yy";
NSLog(@"%@",[dateFormatter stringFromDate:dtNew]);