2011-08-12 6 views
3

양식에서 UIDatePicker를 사용하고 있지만 문제는 날짜와 시간을 선택할 때 텍스트 필드의 시간이 선택기에 시간이 표시된 후 5 시간이라는 것입니다. 날짜 선택 도구에 버그가 있음을 읽었지만이를 해결하는 방법을 모르겠습니다. 나는 멕시코의 시간을 보여줄 필요가있다. 나는이 일을 시도했지만 아무 것도 바뀌지 않았다.UIDatePicker 아이폰에서 날짜를 선택하는 데 문제가 있습니다

datePicker.calendar = [NSCalendar autoupdatingCurrentCalendar];
datePicker.timeZone = [NSTimeZone localTimeZone];
datePicker.locale = [NSLocale currentLocale];

아무도 도와 줄 수 있습니까 ??? XD

감사합니다 !! 당신이 이미 그것을 사용하지 않는 경우

+0

도움이 될 것입니다? – msgambel

+0

날짜를 인쇄하는 데 어떤 코드를 사용합니까? 날짜 문자열을 생성하는 방법에 따라 UTC 시간 형식이 표시 될 수 있습니다. –

답변

3

, 내가하고 좋을 것 :

NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
[df setDateStyle:NSDateFormatterMediumStyle]; 
[df setTimeStyle:NSDateFormatterMediumStyle]; 

NSString *stringToDisplay = [df stringFromDate:myDateObject]; 

NSDateFormatter 당신을 위해 어떤 시간대 문제에주의를 기울여야한다. 이 오 here.

+0

위대한 !! 그 트릭을했다. 정말 고맙습니다!! XD –

+0

작동합니다. 고맙습니다 –

0

자세한 내용을보실 수 있습니다 : 그것은 5 시간 시간 후에 항상 경우,이, 왜 그냥 5 시간 떨어져 빼기하지 않는 당신에게

//Date Picker 
(void)textFieldDidBeginEditing:(UITextField *)aTextField {  
    [aTextField resignFirstResponder]; 

    pickerViewPopup = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:nil]; 

    UIDatePicker *pickerView = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 44, 0, 0)]; 
    pickerView.datePickerMode = UIDatePickerModeDate; 
    pickerView.hidden = NO; 
    pickerView.date = [NSDate date]; 

    UIToolbar *pickerToolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)]; 
    pickerToolbar.barStyle = UIBarStyleBlackOpaque; 
    [pickerToolbar sizeToFit]; 

    NSMutableArray *barItems = [[NSMutableArray alloc] init]; 

    UIBarButtonItem *flexSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil]; 
    [barItems addObject:flexSpace]; 

    UIBarButtonItem *doneBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneButtonPressed:)]; 
    [barItems addObject:doneBtn]; 

    UIBarButtonItem *cancelBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelButtonPressed:)]; 
    [barItems addObject:cancelBtn]; 

    [pickerToolbar setItems:barItems animated:YES]; 

    [pickerViewPopup addSubview:pickerToolbar]; 
    [pickerViewPopup addSubview:pickerView]; 
    [pickerViewPopup showInView:self.view]; 
    [pickerViewPopup setBounds:CGRectMake(0,0,320, 464)];  
} 

(void)doneButtonPressed:(id)sender{ 
//Do something here here with the value selected using [pickerView date] to get that value 
    [pickerViewPopup dismissWithClickedButtonIndex:1 animated:YES]; 
} 

(void)cancelButtonPressed:(id)sender{ 
    [pickerViewPopup dismissWithClickedButtonIndex:1 animated:YES]; 
}