如何将日期格式更改为yy/mm/dd
?
这是我到目前为止所做的:
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
if (textField == _celebration)
{
UIDatePicker *datePicker = [[UIDatePicker alloc]init];
[datePicker setDate:[NSDate date]];
[datePicker addTarget:self action:@selector(updateTextField:) forControlEvents:UIControlEventValueChanged];
[self.celebration setInputView:datePicker];
}
}
- (void)updateTextField:(id)sender
{
UIDatePicker *picker = (UIDatePicker*)self.celebration.inputView;
self.celebration.text = [NSString stringWithFormat:@"%@",picker.date];
}
答案 0 :(得分:1)
制作一个像这样的格式化程序
NSDateFormatter* format = [[NSDateFormatter alloc]init];
[format setDateFormat:@"YY/MM/dd"];
从像这样的NSDate中获取格式化的字符串
NSString* testDate = [format stringFromDate:[NSDate date]];
从类似字符串中获取NSDate。
NSDate* reformDate = [format dateFromString:testDate];
如果不在ARC中,则释放,否则设置为nil [格式发布];或格式= nil;
你可以修改你的功能看起来像这样。这会将格式化的日期字符串设置为UITextField的文本。
- (void)updateTextField:(id)sender
{
UIDatePicker *picker = (UIDatePicker*)self.celebration.inputView;
NSDateFormatter* format = [[NSDateFormatter alloc]init];
[format setDateFormat:@"YY/MM/dd"];
NSString* formattedDate = [format stringFromDate:picker.date];
self.celebration.text = formattedDate;
format = nil;
}
据说UIDatePicker本身并不支持这样的格式化。你可以在这里参考课程。 UIDatePicker Class Reference
如果您真的为datePicker设置了此格式,则可能需要构建自定义格式。但是,我不鼓励这样做,因为内置的UIDatepicker会自动考虑用户的区域设置和语言,而您的格式会将其锁定为您的首选格式(对于您的用户而言,这取决于他们的位置是否正确在世界上。)