Преобразовать дату в английский формат формы бенгальский

У меня есть приложение выбора даты в моем приложении. Телефон настроен на локальные настройки Бангладеш. Когда я выбираю дату из 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);

Система отобразит этот момент времени в строку, а затем напечатает ее. Это рендеринг в строку, которая содержит формат.

Я предполагаю, что вы делаете это...

  1. Получить дату от UIDatePicker,
  2. Отобразить эту дату в UITextField в бенгали. (или метка, или текстовое представление или что-то)
  3. Попытка прочитать текст и сохранить его в дату.
  4. Попытка затем "преобразовать" дату в английскую строку.

То, что вы должны сделать, это просто сохранить дату, которая поступает из выбора даты.

Поместите это в собственность или что-то.

В приведенном выше коде я думаю, что бит, который терпит неудачу, на самом деле является первым битом...

NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
[formatter setLocale:[NSLocale currentLocale]];
NSDate* date = [formatter dateFromString: self.birthDate.text];

Потому что вы не даете ему формат, он потерпит неудачу. Но это все равно неправильный путь.

Вы должны иметь что-то вроде этого...

- (void)datePickerChoseADate
{
    self.date = self.datePicker.date;
}
Другие вопросы по тегам