在完全阅读之前,请勿将其标记为重复。这类问题多次询问。但是我已经搜索但未找到答案。问题很简单,我想将日期字符串显示为 2014年1月1日。我使用了日期格式如下
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd MMMM yyyy"];
self.model.dateOfBirth = [dateFormatter stringFromDate:self.dobDatepicker.date];
但它给了 2014年1月1日与未资本化的月份。如果我希望输出为 2014年1月1日,那么正确的格式是什么?
更新:据@rmaddy说,我试过了,
NSLog(@"DAte %@",[dateFormatter stringFromDate:self.dobDatepicker.date]);
NSString *date = [dateFormatter stringFromDate:self.dobDatepicker.date];
self.model.dateOfBirth = date;
它在日志中显示为 2014年1月1日。但是当我在textfield中指定为文本时,它显示为 2014年1月1日。
self.dobTextField.text = self.model.dateOfBirth;
我找不到什么问题?
答案 0 :(得分:3)
LLLL stand-alone form
MMMM format forms
L/LL: 1~12 (0 padded Month)
LLL: Jan/Feb/Mar/Apr/May/Jun/Jul/Aug/Sep/Oct/Nov/Dec
LLLL: January/February/March/April/May/June/July/August/September/October/November/Deacember
[dateFormatter setDateFormat:@"dd LLLL yyyy"];
答案 1 :(得分:0)
我测试你的代码完美无缺。检查你的项目你错误的地方。
- (void)redrawDate
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd MMMM yyyy"];
dateLabel.text = [dateFormatter stringFromDate:selectedDate];
}
- (IBAction)changeDate:(id)sender
{
DateTimePicker *controller = [[DateTimePicker alloc] init];
controller.delegate = self;
controller.defaultDate = selectedDate;
[self presentViewController:controller animated:YES completion:nil];
}
- (void)dateTimePickerOK:(DateTimePicker *)controller didPickDate:(NSDate *)date
{
self.selectedDate = date;
[self redrawDate];
[controller dismissViewControllerAnimated:YES completion:nil];
}
- (void)dateTimePickerCancel:(DateTimePicker *)controller
{
[controller dismissViewControllerAnimated:YES completion:nil];
}