Iphone 24小时格式的UIDatePicker返回值

Iphone 24小时格式的UIDatePicker返回值,iphone,objective-c,Iphone,Objective C,我是iPhone开发新手,现在正在开发我的第一个应用程序。我在视图上有一个UIDatePicker,如果用户单击save,日期选择器的当前时间应该保存在数据库中(格式为hh:mm) 现在,问题是我的UIDatePicker有一个24小时格式来选择所需的小时和分钟(我通过在模拟器中将iPhone设置设置为“瑞士”和“德国”来配置它)。例如,如果在日期选择器中选择17:00,则以下代码将在NSLog中生成5:00: NSDateFormatter *datePickerFormat = [[NSDa

我是iPhone开发新手,现在正在开发我的第一个应用程序。我在视图上有一个UIDatePicker,如果用户单击save,日期选择器的当前时间应该保存在数据库中(格式为hh:mm)

现在,问题是我的UIDatePicker有一个24小时格式来选择所需的小时和分钟(我通过在模拟器中将iPhone设置设置为“瑞士”和“德国”来配置它)。例如,如果在日期选择器中选择17:00,则以下代码将在NSLog中生成5:00:

NSDateFormatter *datePickerFormat = [[NSDateFormatter alloc] init];
[datePickerFormat setDateFormat:@"hh:mm"];
NSString *datePickerStringToSave = [datePickerFormat stringFromDate:datePicker.date];
NSLog(@"%@", datePickerStringToSave);
日期选择器是否可能以24小时格式返回所选时间?或者我可以将NSDateFormatter配置为以24小时为单位显示返回的时间吗?我已经尝试将日期选择器的属性检查器中的“本地”设置设置为我的国家和语言,但这不起作用


谢谢你的回答

我认为这里的问题是
@“hh:mm”
中的小写字母h强制
日期选择器进入12小时模式。尝试将该行更改为:

[datePickerFormat setDateFormat:@"HH:mm"]; 

有关正确的日期格式模式的信息,请查看。

我认为这里的问题是
@“hh:mm”
中的小写字母h强制
日期选择器执行模式进入12小时模式。尝试将该行更改为:

[datePickerFormat setDateFormat:@"HH:mm"]; 

有关正确日期格式模式的信息,签出。

我的贡献有点晚,但屏幕上显示的日期/时间选择器是24小时格式,这是由于手机的用户日期/时间设置,因此UIDatepicker默认为用户的电话设置。

我的贡献有点晚,但事实上,日期/时间选择器是24小时显示在屏幕上的格式取决于用户对手机的日期/时间设置,因此UIDatepicker默认为用户的手机设置。

SDK中没有UIDateSwitcher类……已经纠正,我的意思是UIDatepicker。很抱歉SDK中没有UIDateSwitcher类…已经纠正了,我的意思是UIDatePicker。很抱歉谢谢,但我想你可能误解了我。我完全可以在选择器中选择一个24小时日期(选择器显示24小时格式),但是在上面的代码中,选择器返回一个12小时格式值,当我选择17:00或类似的时候也是如此。哎呀,这是我的错!我刚刚编辑了我的答案,并添加了一个链接,指向一个关于为什么会出现这种情况的指南。没问题,对第一个错误再次表示抱歉!如果这回答了问题,你介意检查一下吗?我已经找了两个小时的解决方案,效果很好..投了赞成票!!!谢谢,但我想你可能误解了我。我完全可以在选择器中选择一个24小时日期(选择器显示24小时格式),但是在上面的代码中,选择器返回一个12小时格式值,当我选择17:00或类似的时候也是如此。哎呀,这是我的错!我刚刚编辑了我的答案,并添加了一个链接,指向一个关于为什么会出现这种情况的指南。没问题,对第一个错误再次表示抱歉!如果这回答了问题,你介意检查一下吗?我已经找了两个小时的解决方案,效果很好..投了赞成票!!!这不完全是对这个问题的回答,但这正是我在谷歌上搜索的问题让我来到这里。如果设备时钟设置为24小时模式,则“hh:mm”给出24小时时间。如果设置为12小时,则“hh:mm”给出12小时的时间。奇怪。这并不是问题的答案,但正是我在谷歌上搜索的问题让我来到了这里。如果设备时钟设置为24小时模式,则“hh:mm”给出24小时时间。如果设置为12小时,则“hh:mm”给出12小时的时间。奇怪的
+(NSDateFormatter *)GetPickerDateFormater
{
NSDateFormatter *formatter1 = [[NSDateFormatter alloc] init];
[formatter1 setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSLocale *locale1 = [[NSLocale alloc] initWithLocaleIdentifier:@"NL"];
NSTimeZone *timeZone1 = [NSTimeZone timeZoneWithName:@"IST"];
[formatter1 setTimeZone:timeZone1];
[formatter1 setLocale:locale1];
[locale1 release],
locale1 = nil;
return formatter1;
}

- (void)action:(id)sender forEvent:(UIEvent *)event {

  txtToDate.text = [NSString stringWithFormat:@"%@",
                        [[self GetPickerDateFormater] stringFromDate:DatepickerView.date]];
}