转换date格式返回错误的datexcode

我想将date从23 May, 2017转换为23-05-2017

我已经尝试使用下面的代码,但它返回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 – > yyyy

更新的代码:

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