Почему NSDate из строки на один день меньше? если я попробую: NSDateFormatter* formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"yyyyMMdd"]; и [formatter dateFromString:@"20120423"]; Мой новый объект NSDate будет: 2012 04 22. Почему на один день меньше? Спасибо Ответ 1 У вас есть проблемы с часовым поясом, и его можно решить, добавив эту строку кода: formatter.timeZone = [NSTimeZone timeZoneWithName:@"GMT"]; Ответ 2 Для тех, кто ищет версию swift 3 let formatter = DateFormatter() formatter.timezone = TimeZone(abbreviation: "GMT") formatter.dateFormat = "yyyyMMdd" formatter.date(from: "20120423") Ответ 3 Для одного лайнера с использованием Swift 3 Date.init(dateString: "2014-07-31", format: "yyyy-MM-dd", timeZone: TimeZone.init(abbreviation: "GMT")!)
Ответ 1 У вас есть проблемы с часовым поясом, и его можно решить, добавив эту строку кода: formatter.timeZone = [NSTimeZone timeZoneWithName:@"GMT"];
Ответ 2 Для тех, кто ищет версию swift 3 let formatter = DateFormatter() formatter.timezone = TimeZone(abbreviation: "GMT") formatter.dateFormat = "yyyyMMdd" formatter.date(from: "20120423")
Ответ 3 Для одного лайнера с использованием Swift 3 Date.init(dateString: "2014-07-31", format: "yyyy-MM-dd", timeZone: TimeZone.init(abbreviation: "GMT")!)