我正在从 UIPickerView 制作自定义 TimePicker。我让它工作得很好,除了显示时间。我希望它像 the 一样运行,UIDatePicker
以便它遵循用户Locale
设置。如果他们选择了法语,则时间应以 24 小时格式显示。如果他们有美国,它应该以 12 小时格式显示。
hoursArray
我有一个从 0 到 23的数组。然后我运行此代码将其转换为所需的格式。但是,如果在“设置”->“国际”部分中设置了该选项,则不想更改为 24 小时格式
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setLocale:[NSLocale currentLocale]];//[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
[dateFormatter setDateFormat:@"H"];
NSDate *tempDate = [dateFormatter dateFromString:[hoursArray objectAtIndex:row]];
[dateFormatter setDateFormat:@"h"];
return [dateFormatter stringFromDate:tempDate];
我尝试更改[dateFormatter setDateFormat:@"h"];
为,[dateFormatter setDateFormat:@"H"];
因为 Apples 文档说用户的个人区域设置将覆盖它,但情况似乎并非如此。
如何dateFormatter
正确遵循用户区域设置?