Ios 将NSString转换为NSDate时的月份更改

Ios 将NSString转换为NSDate时的月份更改,ios,objective-c,nsstring,nsdate,nsdateformatter,Ios,Objective C,Nsstring,Nsdate,Nsdateformatter,这是我的密码: NSString *date = [NSString stringWithFormat:@"%@",[[NSUserDefaults standardUserDefaults] stringForKey:@"start_date"]]; NSString *time = [NSString stringWithFormat:@"%@",[[NSUserDefaults standardUserDefaults] stringForKey:@"start_time"]]; NS

这是我的密码:

NSString *date = [NSString stringWithFormat:@"%@",[[NSUserDefaults standardUserDefaults] stringForKey:@"start_date"]];
NSString *time = [NSString stringWithFormat:@"%@",[[NSUserDefaults standardUserDefaults] stringForKey:@"start_time"]];  
NSString *dateAndTime = [NSString stringWithFormat:@"%@ %@",date,time];  
这里我的日期是:2019-03-14我的时间是:18:40:00日期和时间是:2019-03-14 18:40:00

现在,当我将
NSString
转换为
NSDate
时,它给出了不同的月份。
这是我的错误代码:

// convert to date
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    //dateFormat.dateFormat = @"dd MMM YYYY HH:mm:ss";
    [dateFormat setDateFormat:@"yyyy-mm-dd HH:mm:ss"];
    NSDate *dateTime = [dateFormat dateFromString:dateAndTime];
    NSLog(@"dateTime : %@",dateTime);  
现在o/p为2019-01-14 13:10:00+0000 这里时间和月份都变了

那么我的代码有什么问题


提前谢谢

日期格式错误,只是输入错误:

  • mm
    是分钟
  • MM
    是月份

    [dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];