2012-05-17 74 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

謝謝巴迪。有用 –