NSDateFormatter完全不适用于NSDate
问题描述:
我的日期选择器正在向标签发送日期。但是,我试图将标签中的日期格式设置为MM/dd/yyyy。不知为什么,这是行不通的,虽然我用下面的代码:NSDateFormatter完全不适用于NSDate
UIDatePicker *datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, self.view.bounds.size.height+44, 768, 216)];
datePicker.tag = 10;
datePicker.datePickerMode = UIDatePickerModeDate;
[datePicker setBackgroundColor:[UIColor whiteColor]];
[datePicker addTarget:self action:@selector(changeDate:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:datePicker];
然后我不成功试图改变标签,选定的日期:
- (void)changeDate:(UIDatePicker *)sender {
NSLog(@"New Date: %@", sender.date);
NSDate *date_JF = sender.date;
NSDateFormatter *dateFormatJF = [[NSDateFormatter alloc]init];
[dateFormatJF setLocale:([[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"])];
[dateFormatJF setDateStyle:NSDateFormatterMediumStyle];
[dateFormatJF setDateFormat:@"MM/dd/yyyy"];
FeeDate.text = [NSString stringWithFormat: @"%@", date_JF];
}
谁能帮助我格式化我标签为MM/dd/yyyy?
答
使用NSDateFormatter
的正确方法是使用stringFromDate:
方法获取格式化日期。因此,您需要将代码的最后一行更改为:
FeeDate.text = [dateFormatJF stringFromDate:date_JF];
如果您不给出日期,您如何预期格式化程序格式化日期? –
我以为NSDate * date_JF = sender.date;正在照顾这个......我做错了什么? –
你甚至还没有创建过格式化程序。它怎么会有影响? gabriellanata的回答告诉你你需要做什么。 –