Преобразовать дату в английский формат формы бенгальский
У меня есть приложение выбора даты в моем приложении. Телефон настроен на локальные настройки Бангладеш. Когда я выбираю дату из DatePicker всегда возвращает дату в бенгали. Возвращает дату в местном формате.
Мол, он возвращает ০৬/১১/২০১৪
но я хочу, чтобы это было 11.06.2014.
Я пытался преобразовать его по формату даты. Вот что я попробовал:
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
[formatter setLocale:[NSLocale currentLocale]];
NSDate* date = [formatter dateFromString: self.birthDate.text];
NSDateFormatter *formater = [[NSDateFormatter alloc] init];
[formater setLocale:[NSLocale localeWithLocaleIdentifier:@"en_US"]];
[formater setDateFormat:@"dd/MM/yyyy"];
NSLog(@"%@",[formater stringFromDate:date]);
Выход нулевой.
1 ответ
Вы ошибаетесь в своем предположении, когда говорите...
Когда я выбираю дату из DatePicker всегда возвращает дату в бенгали. Возвращает дату в местном формате.
UIDatePicker
возвращает NSDate
объект. NSDate
не имеет форматирования вообще. У него нет языка, это чисто момент времени.
Когда вы делаете это...
NSLog(@"%@", someDate);
Система отобразит этот момент времени в строку, а затем напечатает ее. Это рендеринг в строку, которая содержит формат.
Я предполагаю, что вы делаете это...
- Получить дату от
UIDatePicker
, - Отобразить эту дату в
UITextField
в бенгали. (или метка, или текстовое представление или что-то) - Попытка прочитать текст и сохранить его в дату.
- Попытка затем "преобразовать" дату в английскую строку.
То, что вы должны сделать, это просто сохранить дату, которая поступает из выбора даты.
Поместите это в собственность или что-то.
В приведенном выше коде я думаю, что бит, который терпит неудачу, на самом деле является первым битом...
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
[formatter setLocale:[NSLocale currentLocale]];
NSDate* date = [formatter dateFromString: self.birthDate.text];
Потому что вы не даете ему формат, он потерпит неудачу. Но это все равно неправильный путь.
Вы должны иметь что-то вроде этого...
- (void)datePickerChoseADate
{
self.date = self.datePicker.date;
}