2012-05-17 70 views
0

我正在使用datePicker创建一个timePicker。当我点击textField时,选择器会打开,并选择时间,之后所选时间将显示在该文本框中。在我的情况下,除了文本框中显示的时间外,一切正常。它显示错误的时间,尤其是分钟。UIDatePicker not显示正确的时间

这是我创建拾取

timePickerView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320, 260)]; 
timePickerView.backgroundColor = [UIColor clearColor]; 

    //create toolbar using new 
UIToolbar *toolbar1; 
toolbar1 = [UIToolbar new]; 
    //toolbar.barStyle = UIBarStyleBlackTranslucent; 
toolbar1.tintColor = [UIColor colorWithRed:0.627 green:0.627 blue:0.655 alpha:1.000]; 
    //[UIColor colorWithRed:0.6 green:0.6 blue:0.6 alpha:0.6]; 
[toolbar1 sizeToFit]; 
toolbar1.frame = CGRectMake(0, 0, 320, 50); 

    //Add buttons 
UIBarButtonItem *doneButtone1 = [[UIBarButtonItem alloc] 
           initWithBarButtonSystemItem:UIBarButtonSystemItemDone 
           target:self action:@selector(dismissPicker:)]; 

    //Use this to put space in between your toolbox buttons 
UIBarButtonItem *flexItem1 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace 
                      target:nil 
                      action:nil]; 

    //Add buttons to the array 
NSArray *items1 = [NSArray arrayWithObjects: flexItem1, doneButtone1, nil]; 

    //release buttons 
[doneButtone1 release]; 
[flexItem1 release]; 

    //add array of buttons to toolbar 
[toolbar1 setItems:items1 animated:NO]; 
[timePickerView addSubview:toolbar1]; 
[toolbar1 release]; 

    UIDatePicker *timePicker = [[UIDatePicker alloc]initWithFrame:CGRectZero]; 
timePicker.autoresizingMask=UIViewAutoresizingFlexibleWidth; 
timePicker.datePickerMode = UIDatePickerModeTime; 
timePicker.frame = CGRectMake(0, 50.0f, 320.0, 216); 
timePicker.tag = 222; 
[timePicker addTarget:self action:@selector(selectTime:) forControlEvents:UIControlEventValueChanged]; 
[timePickerView addSubview:timePicker]; 
[timePicker release]; 

码这是在文本框来显示时间代码

UIDatePicker *picker =(UIDatePicker *)sender; 
DLog(@"%@",picker); 

NSDateFormatter *df1 = [[NSDateFormatter alloc] init]; 
df1.dateStyle = NSDateFormatterMediumStyle; 
    //if(picker.tag =222) { 
    [df1 setDateFormat:@"HH:MM"];  
    self.timeTF.text = [NSString stringWithFormat:@"%@",[df1 stringFromDate:picker.date]]; 
    //timeTF.text=[df1 stringFromDate:[NSDate date]]; 

[df1 release]; 

它正确地显示时针但分钟表演总是5

我的代码有什么错误。任何人都可以帮我找出答案。

回答

2

这条线的问题是:

[df1 setDateFormat:@"HH:MM"]; 

MM为一个月,即月= 5

您应该使用mm

+0

谢谢巴迪。有用 –