0

こんにちは、私は ios の初心者です カスタム UIDatePicker ビューを作成しました これは正しい日付と時刻を表示しますが、完了ボタンをクリックすると、この日付は正しく表示されますが時刻は正しくありません ....では、これを行うにはどうすればよいですか ....

UIDatePicker *DatePicker;
UITexField  *DateTime; 
if ([[UIScreen mainScreen] bounds].size.height >480)
{
     DatePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0,350,320,50)];
}
else
{
     DatePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0,270,320,50)];
}
DatePicker.autoresizingMask = UIViewAutoresizingFlexibleWidth |UIViewAutoresizingFlexibleTopMargin;
 DatePicker.datePickerMode = UIDatePickerModeDateAndTime;
 DatePicker.date = [NSDate date];
[self.DateTime setInputView:DatePicker];
 DatePicker.userInteractionEnabled=YES;
[self.view addSubview:DatePicker];
 UIDatePicker *picker = (UIDatePicker*)self.DateTime.inputView;

 self.DateTime.text = [NSString stringWithFormat:@"%@",picker.date];
 NSLog(@"date picker is %@",self.DateTime.text);

 NSDateFormatter  *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss +HHmm"];
[dateFormatter setTimeZone:[NSTimeZone localTimeZone]];
NSDate  *myDate = [dateFormatter dateFromString:[NSString stringWithFormat:@"%@",DateTime.text]];
NSLog(@"%@", [dateFormatter stringFromDate:myDate]);

NSDateFormatter  *anotherDateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setAMSymbol:@"AM"];
 [dateFormatter setPMSymbol:@"PM"];
[anotherDateFormatter setDateFormat:@"dd/MM/yyyy hh:mm a"];
NSLog(@"%@", [anotherDateFormatter stringFromDate:myDate]);

DateTime.text =[anotherDateFormatter stringFromDate:myDate];
NSLog(@"datetime is %@",DateTime.text);

このピッカーはUIに正しい日時を表示しますが、完了ボタンをクリックすると(ここでは言及しません)表示されます....DateTime.text=date picker is 2013-07-03 05:22:57 +0000この形式の後 に表示されます2013-07-03 12:00:57 +0000

03/07/2013 12:00 AM
datetime is 03/07/2013 12:00 AM

いつでも選択すると、これは時刻の上にのみ表示されます....日付は正しいですが、時間が間違っているので....この問題を解決してください

4

3 に答える 3