【问题标题】:How to format date in 09-Nov-2014 format with DateFormatter in iOS & Swift?如何在 iOS 和 Swift 中使用 DateFormatter 格式化 09-Nov-2014 格式的日期?
【发布时间】:2018-12-17 17:55:11
【问题描述】:

我正在尝试在日期选择器中格式化日期。我似乎找不到以 09-Nov-2014 格式显示日期的格式。它始终以 2014 年 11 月 9 日的格式显示。我做了很多搜索,但无法确定哪个是正确的输入格式。谁能帮我吗?提前发送。

@objc func datePickerValueChanged(sender:UIDatePicker) {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "dd-MM-yyyy"
    dateFormatter.dateStyle = DateFormatter.Style.medium
    dateFormatter.timeStyle = DateFormatter.Style.none
    dateOfBirthTextField.text = dateFormatter.string(from: sender.date)
}

【问题讨论】:

  • 请考虑(忽略样式)MM 打印 11 而不是 Nov 并且 locale 至关重要。

标签: ios swift datepicker dateformatter


【解决方案1】:

不要设置样式。只需设置格式即可。

您使用dateFormat 或使用dateStyletimeStyle

请注意,最好避免使用dateFormat 作为您希望向用户显示的日期,因为您的硬编码格式对于大多数用户来说不是标准格式。

还要注意MM 显示月份编号。如果您想要缩写的月份名称,请使用MMM

【讨论】:

  • Tx 澄清一下。
【解决方案2】:

你不应该使用dateStyle & timeStyle 这里你需要一个特定的日期格式,你的代码应该是这样的,

@objc func datePickerValueChanged(sender:UIDatePicker) {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "dd-MM-yyyy"
    dateOfBirthTextField.text = dateFormatter.string(from: sender.date)
}

希望对你有帮助。

【讨论】:

  • 对不起@rmaddy,我错过了观察你的答案,是的,我同意它看起来一样,我可以删除答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-22
相关资源
最近更新 更多