日期选择器格式现在可以在 ios swift 4.1 中完美显示月份?

datepicker format now show month perfectly in ios swift 4.1?

@objc func todatePickerDone(){
    let formatter = DateFormatter()
    formatter.dateFormat = "dd/mm/yyyy"
    toDateText.text = formatter.string(from: toDatePicker.date)
    self.view.endEditing(true)

}

结果是这样的。

今天来到这里 23/49/2018

来自此处日期 04/51/2017

您必须先检查日期组件的格式。

检查此 website 并与您的日期格式进行比较。

在您的示例中,您使用了代表分钟分量的 mm

一个月你需要 MM

请参阅以下月份的其他格式。

1) 对于短文本月份,即 Jun - MMM

2) 对于完整的月份名称,即 June - MMMM

你解决

let formatter = DateFormatter()
formatter.dateFormat = "dd/MM/yyyy"
toDateText.text = formatter.string(from: toDatePicker.date)
self.view.endEditing(true)

您使用的 mm 用于分钟而不是月份。对于一个月,您需要使用 MM.

let formatter = DateFormatter()
formatter.dateFormat = "dd/MM/yyyy"      // use MM
let dt = formatter.string(from: Date())
print(dt)

解决方案

@objc func todatePickerDone(){
  let formatter = DateFormatter()
  formatter.dateFormat = "dd/MM/yyyy"
  toDateText.text = formatter.string(from: toDatePicker.date)
  self.view.endEditing(true)
}

日期参数列表参考this