如何在iOS和Swift中使用DateFormatter将日期格式化为2014年11月9日格式?

时间:2018-12-17 17:55:11

标签: ios swift datepicker dateformatter

我正在尝试在日期选择器中格式化日期。我似乎找不到以 2014年11月9日格式显示日期的格式。它始终以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)
}

2 个答案:

答案 0 :(得分:3)

不设置样式。只需设置格式。

您使用dateFormatdateStyletimeStyle

请注意,最好不要在要显示给用户的日期上使用dateFormat,因为大多数用户都不习惯使用硬编码格式。

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

答案 1 :(得分:1)

您不应该使用dateStyletimeStyle,因为这里需要特定的日期格式,您的代码应类似于

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

希望有帮助。