如何在 swift 3.0 中将日期选择器值转换为字符串?

How to convert date picker value into String in swift 3.0?

如何在Swift 3.0 中将日期选择器值转换为字符串类型?

现在我已经成功创建了日期选择器,但文本字段中显示的值是今天的日期,即 2/8/17,m/d/yy 格式。

我的目标是将 m/d/yy 转换为 String 并且日期值为 2017- 02-08,yyyy/mm/dd格式

代码如下

Date.swift

import UIKit

class ViewController: UIViewController {

    @IBOutlet var dateTxt: UITextField!

    let datepicker = UIDatePicker()

    override func viewDidLoad() {
        super.viewDidLoad()
        displayDate()
    }

    func displayDate(){
        let toolbar = UIToolbar()
        toolbar.sizeToFit()

        let doneBtn = UIBarButtonItem(barButtonSystemItem: .done, target: nil, action: #selector(donePick))
        toolbar.setItems([doneBtn], animated: false)

        dateTxt.inputAccessoryView = toolbar

        dateTxt.inputView = datepicker
    }

    func donePick(){

        let dateFormatter = DateFormatter()
        dateFormatter.dateStyle = .short
        dateFormatter.timeStyle = .none

        dateTxt.text = dateFormatter.string(from: datepicker.date)
        self.view.endEditing(true)
    }
}

有人能帮忙吗?

谢谢。

为此,您需要设置 DateFormatterdateFormat 属性 而不是 dateStyletimeStyle

func donePick(){

    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "yyyy-MM-dd"
    dateTxt.text = dateFormatter.string(from: datepicker.date)
    self.view.endEditing(true)
}