У меня есть UIDataPicker в моем ViewController с местоположением по умолчанию, когда мой пользователь заканчивает выбрать дату я запускаю этот код:NSDateFormatterLongStyle строка NSDate
NSString *dateString = [NSDateFormatter localizedStringFromDate:[self.dataPicker date]
dateStyle:NSDateFormatterLongStyle
timeStyle:NSDateFormatterNoStyle];
С этим кодом сможет хранение даты в следующем формате:
31 мая 2016
Позже в моем коде мне нужно преобразовать эту строку в формат реальной даты, для этого я использую треску e ниже:
-(NSDate*)convertStringToDate:(NSString*)date{
NSString *dateString = date;
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
[dateFormatter setDateFormat:@"MM/dd/yyyy"];
return [dateFormatter dateFromString:dateString];
}
Но этот код возвращает нулевое значение. Поскольку datepicker установлен по умолчанию, моя система может получать любой формат даты, но в конце я хочу, чтобы он был преобразован в формат en_us.
Как я могу решить эту проблему?
посмотреть обучающую: https: //iosdevcenters.blogspot.com/2016/03/nsdateformatter-in-swift.html –
'31 мая 2016' против' MM/dd/yyyy' Вы видите тот же формат там? Формат 'MM/dd/yyyy' не соответствует формату строки (' 31 мая 2016 года). – Larme
@ Larme, я вижу ... теперь давайте изменим язык устройства на французский, формат будет отличаться от 31 мая 2016 года, я думаю, мне нужно преобразовать дату в локаль ... – Lacrifilm