如何在 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)
}
}
有人能帮忙吗?
谢谢。
为此,您需要设置 DateFormatter
的 dateFormat
属性 而不是 dateStyle
和 timeStyle
。
func donePick(){
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
dateTxt.text = dateFormatter.string(from: datepicker.date)
self.view.endEditing(true)
}
如何在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)
}
}
有人能帮忙吗?
谢谢。
为此,您需要设置 DateFormatter
的 dateFormat
属性 而不是 dateStyle
和 timeStyle
。
func donePick(){
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
dateTxt.text = dateFormatter.string(from: datepicker.date)
self.view.endEditing(true)
}