2011-06-01 39 views
0

是否有一个语言环境(或任何其他代码),将迫使我所有的格式化和我的uiDatePicker始终以英文和24小时格式? 无论设备设置是什么,我都需要它。 非常感谢...如何在所有时间值上强制使用24小时格式?

+0

你的问题应该以问题的形式命名。 – 2011-06-01 20:32:03

回答

3

对于UIDatePicker,SDK中没有办法让组件24小时(除了用户选择使用24小时时间的Settings.app中的区域设置外)。你需要做的是使用UIPickerView和一个非常简单的自定义数据源进行自定义数据源,然后使用简单的算术将那些值转换为NSDate

对于时间的格式,你可以随时选择使用NSDateFormatter像显示NSDate对象是什么格式如下:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss Z"]; 
NSLog(@"the current 24hr date and time is %@", [formatter stringFromDate:[NSDate date]]); 
[formatter release]; 

然后,您可以包装成utils的类或你有什么这一点,全球使用它来将日期格式化为字符串。

+0

感谢bensnider,这是讨厌datePicker,就格式化而言,即使当我使用HH,如果设备(iphone)24小时时间设置为'OFF',我仍然可以在AM/PM 12小时内得到时间? – mtompson 2011-06-02 07:22:20

+0

我看到过这样的评论:“如果你想强制它进入12小时模式,无论用户的24/12小时模式设置如何,都应该将语言环境设置为en_US_POSIX”。是否有相当于24小时“始终”的语言环境? – mtompson 2011-06-02 11:02:53

相关问题