【发布时间】:2017-03-08 14:01:55
【问题描述】:
我有一个应用程序,它有一个 textField,当按下它时,会打开一个 datePicker 供用户选择日期,然后将此信息发送到标签。我只需要获取 DATE 值,但发送的字符串类似于:
<UITextField: 0x7ff66e740bf0; frame = (16 12; 289 30); text = '08/03/2017'; opaque = NO; (...and so on...)
我怎样才能只获得 DATE 字符串?
我的代码是:
- (void)viewDidLoad
{
datePicker=[[UIDatePicker alloc]init];
datePicker.datePickerMode=UIDatePickerModeDate;
[self.dia2 setInputView:datePicker];
UIToolbar *toolBar=[[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 44)];
[toolBar setTintColor:[UIColor grayColor]];
UIBarButtonItem *doneBtn=[[UIBarButtonItem alloc]initWithTitle:@"Pronto" style:UIBarButtonItemStyleBordered target:self action:@selector(ShowSelectedDate)];
UIBarButtonItem *space=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
[toolBar setItems:[NSArray arrayWithObjects:space,doneBtn, nil]];
[self.dia2 setInputAccessoryView:toolBar];
}
-(void)ShowSelectedDate
{
NSDateFormatter *formatter=[[NSDateFormatter alloc]init];
[formatter setDateFormat:@"dd/MM/YYYY"];
self.dia2.text=[NSString stringWithFormat:@"%@",[formatter stringFromDate:datePicker.date]];
mostraData.text=[NSString stringWithFormat:@"%@", _dia2];
[self.dia2 resignFirstResponder];
}
【问题讨论】:
-
您只是将日期设置为
self.dia2.text。但随后您将UITextField(_dia2) 转换为字符串并将其分配给mostraData.text。为什么? -
仅供参考 - 您的日期格式错误。你想要
@"dd/MM/yyyy"。永远不要使用YYYY。全年使用yyyy。
标签: ios string datepicker