Ios 转换中的日期格式返回错误的日期xcode

Ios 转换中的日期格式返回错误的日期xcode,ios,objective-c,xcode,nsdate,nsdateformatter,Ios,Objective C,Xcode,Nsdate,Nsdateformatter,我想将日期从2017年5月23日转换为2017年5月23日 我尝试了以下代码,但它返回25-12-2016 NSDateFormatter *oldFormatter = [NSDateFormatter new]; [oldFormatter setDateFormat:@"dd MMM, YYYY"]; NSDate *oldDate = [oldFormatter dateFromString:dateStr]; NSDateFormatter *newFormatter = [NSDa

我想将日期从2017年5月23日转换为2017年5月23日

我尝试了以下代码,但它返回
25-12-2016

NSDateFormatter *oldFormatter = [NSDateFormatter new];
[oldFormatter setDateFormat:@"dd MMM, YYYY"];
NSDate *oldDate = [oldFormatter dateFromString:dateStr];

NSDateFormatter *newFormatter = [NSDateFormatter new];
[newFormatter setDateFormat:@"dd-MM-YYYY"];
我使用的是Xcode 8.2.1。
谢谢。

您需要进行以下更改:

YYYY-->yyy

更新代码:

    NSString *strInputDateString = @"23 May, 2017";
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"dd MMM, yyyy"];

    //Set new dateFormate
//    23-05-2017
    NSDate *date1 = [dateFormat dateFromString:strInputDateString];
    [dateFormat setDateFormat:@"dd-MM-yyyy"];

    NSString *strOutputDateString = [dateFormat stringFromDate:date1];
    NSLog(@"%@",strInputDateString);
    NSLog(@"%@",strOutputDateString);
“yyyy”而不是“yyyy”。看看这个:找出原因。