转换日期格式返回错误日期xcode
问题描述:
我想将日期从23 May, 2017
转换为23-05-2017
。转换日期格式返回错误日期xcode
我试着用下面的代码,但它返回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);
“YYYY”,而不是 “YYYY”。看到这个:http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns找到原因。 – Larme