Мой код:NSDateFormater stringFromDate к dateFromString вернуть неверную дату
NSString *dateStr = @"03-02-2017";//[responseObject objectForKey:@"event_date"];
NSLog(@"'%@'", dateStr);
// Convert string to date object
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_HK"];
[dateFormat setLocale:locale]; //To fix the format into something like: 10 Feb 2017, but not: 10 2月 2017
[dateFormat setDateFormat:@"dd-MM-YYYY"];
NSDate *date = [dateFormat dateFromString:dateStr];
NSLog(@"'%@'", date);
// Convert date object to desired output format
[dateFormat setDateFormat:@"dd MMM YYYY"];
dateStr = [dateFormat stringFromDate:date];
NSLog(@"'%@'", dateStr);
И в журнале он возвращает
'03 -02-2017'
«2016-12-24 16: 00:00 +0000'
'25 Dec 2016'
Кто-нибудь знает, почему это произошло? Я искал в google, что большинство случаев вызывает часовой пояс. Тем не менее, я почти уверен, что речь идет не о timeZone, потому что разница дат слишком велика, но я не могу понять корень этой проблемы.