2017-07-27 107 views
1

我想將日期從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。 謝謝。

+4

「YYYY」,而不是 「YYYY」。看到這個:http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns找到原因。 – Larme

回答

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