2013-09-17 2 views
0

ОК, я знаю, что чего-то не хватает, но я не знаю что.NSDateFormatter не работает в TextField

Мой NSDateFormmater появляется в текстовом поле (personMonthdayTextField) с сегодняшней датой, но когда я выбрал datePicker и ввел его в textField, он имеет стандартный формат с часами, минутами, секундами, которые мне не нужны ,

Любая помощь приветствуется.

Благодаря

-(void)viewDidLoad { 
NSDate* date = [NSDate date]; 
NSDateFormatter* formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"dd/MMM/yyyy"]; 
NSString* str = [formatter stringFromDate:date]; 
NSLog(@"%@",str); 
NSMutableArray *Arr=[str componentsSeparatedByString:@" "]; 
personMonthdayTextField.text=[Arr objectAtIndex:0]; 

}

- (IBAction)done:(id)sender { 


NSDate *dateSelected = [datepick date]; 
NSString *dateStamp = [[NSString alloc]initWithFormat:@"%@", dateSelected]; 
personMonthdayTextField.text = dateStamp; 

}

+0

Вы должны использовать 'NSDateFormatter' для форматирования даты в методе' done: '. – matsr

ответ

1

Это даст вам дату только

NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
df.dateStyle = NSDateFormatterMediumStyle; 
datelabel.text = [NSString stringWithFormat:@"%@", 
       [df stringFromDate:[NSDate date]]]; 

Адаптировать это для вашего кода под вашим методом IBAction

+0

Почему вы используете 'stringWithFormat:'? Просто выполните 'datelabel.text = [df stringFromDate: [NSDate date]];' – rmaddy

1

просто использовать NSDateFormatter в вашем IBAction

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; 
[dateFormatter setDateFormat:@"dd/MM/yyyy"]; 

NSDate *dateSelected = [datepick date]; 

personMonthdayTextField.text = [dateFormatter stringFromDate:dateSelected]; 

вы можете также настроить с форматами даты дают в компании Apple IOS SDK, легко получить нужный формат.

0

Если вам нужен только день, почему вы не устанавливаете dateFormat как «dd», это избавит от необходимости разделять компоненты dateString.

-(void)viewDidLoad { 
    NSDate* date = [NSDate date]; 
    NSDateFormatter* formatter = [[NSDateFormatter alloc] init]; 
    [formatter setDateFormat:@"dd"]; 
    personMonthdayTextField.text = [formatter stringFromDate:date]; 
} 

- (IBAction)done:(id)sender { 

    NSDate *dateSelected = [datepick date]; 
    NSDateFormatter* formatter = [[NSDateFormatter alloc] init]; 
    [formatter setDateFormat:@"dd"]; 
    personMonthdayTextField.text = [formatter stringFromDate:date]; 
} 
Смежные вопросы