Изменения месяца при конвертации NSString в NSDate - PullRequest
0 голосов
/ 08 марта 2019

Вот мой код:

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 и dateAndTime: 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
Здесь время и месяц изменились.

Так что не так с моим кодом?

Заранее спасибо.

1 Ответ

3 голосов
/ 08 марта 2019

Неправильный формат даты, просто опечатка:

  • mm - минута
  • MM - месяц

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