Разработка iPhone - дата UIDatePicker от NSString - PullRequest
2 голосов
/ 05 августа 2010

Я пытаюсь установить дату UIDatePicker, но у меня каждый месяц "январь" (01). Я пытался использовать «MM» и «LL», но оба они не работают.

Мой код:

-(void)viewDidLoad {    
    [super viewDidLoad];

    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];

    [dateFormat setDateFormat:@"YYYY-MM-DD"];;
    NSDate *anyDate = [dateFormat dateFromString:@"2019-09-11"];   
    [datePicker setDate:anyDate];

    [dateFormat release];

}

Заранее спасибо,

Claudio

Ответы [ 2 ]

7 голосов
/ 05 августа 2010

Mac и iPhone используют форматирование даты в Юникоде .

Таким образом, ваш код должен быть:

-(void)viewDidLoad {    
[super viewDidLoad];

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];

[dateFormat setDateFormat:@"yyyy'-'MM'-'dd"];;
NSDate *anyDate = [dateFormat dateFromString:@"2019-09-11"];   
[datePicker setDate:anyDate];

[dateFormat release];
}

Используется ваш форматер данных

  • 'YYYY' - "Год (из" Недели года "), используемый в календаре год-неделя ISO. Может отличаться от календарного года."(что бы это ни значило ...)
  • 'DD' - "День года", поэтому, скорее всего, он дает вам январский результат.
0 голосов
/ 05 августа 2010

Получаете ли вы предупреждение о вызове setDate?

Похоже, что подпись "setDate: animated:"

Что происходит, когда вы делаете:

[datePicker setDate:anyDate animated:NO];

...