Swift 3更改date格式

我想要DD.MM.YYYY HH:mm:ss作为一个string得到我的date。

我使用以下扩展名:

extension Date { var localTime: String { return description(with: Locale.current) } } 

和下面的代码时,我的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) } 

我究竟做错了什么?

你的代码是完全错误的。 只要做到以下几点:

 @IBAction func datePickerChanged(_ sender: UIDatePicker) { let formatter = DateFormatter() formatter.dateFormat = "dd.MM.yyyy HH:mm" dateLabel.text = formatter.string(from: sender.date) } 

这将把dateselect器的selectdate转换为格式dd.MM.yyyy HH:mm在本地时间的string。

切勿使用description方法将任何对象转换为用户提供的值。