如何在Swift 3.0中将日期选择器值转换为String类型?
现在我已设法创建日期选择器,但文本字段中显示的值是今天的日期, 2/8/17,m / d / yy 格式。
我的目标是将 m / d / yy 转换为字符串,日期值将为 2017-02-08,yyyy / mm / dd < / strong>格式
代码如下。
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)
}
}
有人可以帮忙吗?
感谢。
答案 0 :(得分:3)
为此,您需要设置DateFormatter
的{{3}}属性,而不是dateStyle
和timeStyle
。
func donePick(){
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
dateTxt.text = dateFormatter.string(from: datepicker.date)
self.view.endEditing(true)
}