2013-11-25 45 views
0

我的日期选择器正在向标签发送日期。但是,我试图将标签中的日期格式设置为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?

+1

如果您不给出日期,您如何预期格式化程序格式化日期? –

+0

我以为NSDate * date_JF = sender.date;正在照顾这个......我做错了什么? –

+1

你甚至还没有创建过格式化程序。它怎么会有影响? gabriellanata的回答告诉你你需要做什么。 –

回答

1

使用NSDateFormatter的正确方法是使用stringFromDate:方法获取格式化日期。因此,您需要将代码的最后一行更改为:

FeeDate.text = [dateFormatJF stringFromDate:date_JF];