2011-08-12 15 views
3

フォームでUIDatePickerを使用していますが、日付と時刻を選択すると、ピッカーに表示されてから5時間後に問題が発生します。私は日付ピッカーにバグがあることを読んだが、私はこれを解決する方法を知らない。私はメキシコの時間を示す必要があります。私はこれをやってみましたが、何も変わりません。UIDatePicker iphoneで日付を選択する際に問題が発生する

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はあなたのための任意のタイムゾーンの問題の世話をする必要があります。あなたはこのO 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]; 
} 
関連する問題