Swift 3更改日期格式

Joc*_*her 3 date datepicker nsdateformatter ios swift

我想以DD.MM.YYYY HH:mm:ss作为字符串获取我的日期.

我使用以下扩展名:

extension Date {
var localTime: String {
    return description(with: Locale.current)
    }
}
Run Code Online (Sandbox Code Playgroud)

我的datePicker更改时的以下代码:

@IBAction func datePickerChanged(_ sender: UIDatePicker) {
    dateLabel.text = datePicker.date.localTime
    let formatter = DateFormatter()
    formatter.dateFormat = "dd.MM.yyyy hh:mm"
    let TestDateTime = formatter.date(from: datePicker.date.localTime)
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

rma*_*ddy 22

你的代码是完全错误的.只需执行以下操作:

@IBAction func datePickerChanged(_ sender: UIDatePicker) {
    let formatter = DateFormatter()
    formatter.dateFormat = "dd.MM.yyyy HH:mm"

    dateLabel.text = formatter.string(from: sender.date)
}
Run Code Online (Sandbox Code Playgroud)

这会将日期选择器的选择日期转换dd.MM.yyyy HH:mm为本地时间格式的字符串.

切勿使用该description方法将任何对象转换为用户显示的值.