uidatepicker 24小时格式的ios

时间:2014-01-29 11:33:13

标签: ios iphone uidatepicker

我正在尝试将24 hour格式分配给UIDATEPICKERVIEW,但我并不完全想要实现它。

在我的 view.h 文件

 @property(nonatomic,retain) IBOutlet UIDatePicker *picker_alarm;

在我的 view.m 文件

picker_alarm.date=[NSDate date];  

在我的 .xib 文件

我已将uidatepicker及其模式属性设置为viewcontroller中的时间

Here is the my **Output**

4 个答案:

答案 0 :(得分:12)

NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"NL"];
[picker_alarm setLocale:locale];

答案 1 :(得分:4)

您还可以使用故事板将时间格式更改为24小时。

请按照以下步骤操作:

  1. 转到故事板
  2. 选择datePicker
  3. 选择属性检查器
  4. 更改"区域设置"财产到英语(欧洲)
  5. enter image description here

    并在您的代码中使用以下代码段:

    NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init];
    [outputFormatter setDateFormat:@"HH:mm"];
    somelabel.text = [outputFormatter stringFromDate:_pickerDate.date];
    

答案 2 :(得分:1)

您无法强制日期选择器显示24小时。这取决于locale属性

Doc说:

  

UIDatePickerModeTime,//根据区域设置显示小时,分钟和可选的AM / PM指定(例如6 | 53 | PM)

[datePicker setLocale:[NSLocale systemLocale]];

对于此测试,将系统时间更改为24小时模式。并检查模拟器中的选择器

答案 3 :(得分:0)

创建DatePicker并将其设置为自定义区域设置

array[*]

从DatePicker上方抓取时间,

    let datePicker = UIDatePicker()
    datePicker.datePickerMode = UIDatePickerMode.time 
    datePicker.locale = Locale.init(identifier: "NL")  //or: Locale.init(identifier:en_GB") // using Great Britain