在iOS中格式化“1/31/2016 5:53:21 AM”到“Jan Jan'16”

时间:2016-02-02 04:59:23

标签: ios objective-c iphone xcode nsdateformatter

我从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

任何人都可以提供帮助吗?

提前致谢。!!!

2 个答案:

答案 0 :(得分:2)

试试这个

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

最终输出是

enter image description here

答案 1 :(得分:0)

试试这个,你应该使用格式结尾' 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]);