You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在UIDatePicker中仅显示年月日(不含时分及上下午)

实现UIDatePicker仅显示年-月-日的可行方案

当然有办法搞定!而且根据你适配的iOS版本,有两种清晰的实现路径,我给你拆解清楚:

一、iOS 14及以上:推荐简洁方案

iOS14之后苹果给UIDatePicker加了更灵活的配置项,不仅能轻松隐藏时分和AM/PM,还能自定义显示格式:

  1. 核心设置:把datePickerMode设为.date(Swift)或UIDatePickerModeDate(Objective-C),这一步直接让Picker只展示年月日,完全屏蔽时分、AM/PM元素。
  2. 自定义格式(可选):如果需要固定显示类似yyyy-MM-dd的格式(不管系统语言区域),可以直接给Picker赋值自定义的DateFormatter:

Swift 代码示例

let datePicker = UIDatePicker()
if #available(iOS 14.0, *) {
    // 可选:选择Picker样式,比如.inline嵌入视图、.compact点击弹出、.wheels传统滚轮
    datePicker.preferredDatePickerStyle = .inline
    // 核心:只显示日期
    datePicker.datePickerMode = .date
    // 自定义格式为"年-月-日"(这里用yyyy-MM-dd示例)
    let formatter = DateFormatter()
    formatter.dateFormat = "yyyy-MM-dd"
    datePicker.dateFormatter = formatter
}

Objective-C 代码示例

UIDatePicker *datePicker = [[UIDatePicker alloc] init];
if (@available(iOS 14.0, *)) {
    datePicker.preferredDatePickerStyle = UIDatePickerStyleInline;
    datePicker.datePickerMode = UIDatePickerModeDate;
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    formatter.dateFormat = @"yyyy-MM-dd";
    datePicker.dateFormatter = formatter;
}

二、iOS 13及以下:兼容方案

对于老版本系统,UIDatePicker没有直接设置自定义格式的属性,但依然能实现只显示年月日:

  1. 核心设置:同样把datePickerMode设为.date(Swift)或UIDatePickerModeDate(Objective-C),这会让Picker显示传统的年月日滚轮,自动隐藏时分和AM/PM。
  2. 调整格式(可选):如果需要特定的年月日顺序,比如年-月-日,可以通过设置locale来实现,比如设置为中文区域:

Swift 代码示例

let datePicker = UIDatePicker()
datePicker.datePickerMode = .date
// 设置中文区域,自动显示"年-月-日"格式
datePicker.locale = Locale(identifier: "zh_CN")

Objective-C 代码示例

UIDatePicker *datePicker = [[UIDatePicker alloc] init];
datePicker.datePickerMode = UIDatePickerModeDate;
datePicker.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"];

关键注意点

  • 核心关键:无论哪个版本,datePickerMode的设置是必须的,只要设为.date,就不会显示时分和AM/PM。
  • 如果不需要自定义格式,仅设置datePickerMode即可,系统会根据用户的系统语言自动适配显示格式。
  • iOS14+的样式选择可以根据你的UI需求灵活调整,.wheels样式和老版本的滚轮体验一致。

内容的提问来源于stack exchange,提问作者Julian Cearley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:35:22