【问题标题】:uidatepicker 24hour formate in iosios中的uidatepicker 24小时格式
【发布时间】:2014-01-29 11:33:13
【问题描述】:

我正在尝试将 24 hour 甲酸盐分配给 UIDATEPICKERVIEW,但我不完全知道要实现它。

在我的 view.h 文件中

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

在我的 view.m 文件中

picker_alarm.date=[NSDate date];  

在我的 .xib 文件中

我已在视图控制器中将 uidatepicker 及其 Mode 属性设置为 Time

【问题讨论】:

标签: ios iphone uidatepicker


【解决方案1】:
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"NL"];
[picker_alarm setLocale:locale];

【讨论】:

  • 实际上它最终做到了。所以谢谢 if(isTimeFormat12) { NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"US"]; [self.dpTime setLocale:locale]; } else { NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"UK"]; [self.dpTime setLocale:locale]; }
【解决方案2】:

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

按照以下步骤操作:

  1. 转到故事板
  2. 选择你的日期选择器
  3. 选择属性检查器
  4. 将“区域设置”属性更改为英语(欧洲)

并在您的代码中使用以下 sn-p:

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

【讨论】:

    【解决方案3】:

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

    文档说:

    UIDatePickerModeTime, // 显示小时、分钟和可选的 AM/PM 名称,具体取决于区域设置(例如 6 | 53 | PM)

    [datePicker setLocale:[NSLocale systemLocale]];
    

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

    【讨论】:

    • 你能告诉设置区域设置以获取 24 小时时间吗?
    【解决方案4】:

    创建 DatePicker 并设置它自定义区域设置

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

    从 DatePicker 上方获取时间,

        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = "HH:mm"
        lblTime.text = dateFormatter.string(from: sender.date)
    

    【讨论】:

      猜你喜欢
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 2021-01-17
      • 2016-11-15
      • 2023-03-12
      • 1970-01-01
      • 2012-10-09
      • 1970-01-01
      相关资源
      最近更新 更多