首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DateFormatter Swift 3

DateFormatter Swift 3
EN

Stack Overflow用户
提问于 2017-11-21 01:58:24
回答 2查看 93关注 0票数 1

因此,我正在创建一个联系人电话簿应用程序,我试图让键盘显示为一个DateTimePicker

过了一段时间,我已经让键盘开始工作了,但我似乎无法让格式化程序正常工作。

代码语言:javascript
复制
@IBOutlet weak var datetxt: UITextField!

var datepicker = UIDatePicker()


func createdatepicker() {
    datepicker.datePickerMode = .date

    let toolbar = UIToolbar()
    toolbar.sizeToFit()

    let donebutton = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(doneac))
    toolbar.setItems([donebutton], animated: true)
    datetxt.inputAccessoryView = toolbar

    datetxt.inputView = datepicker

}

func doneac() {
    let Date = DateFormatter()
    Date.dateStyle = .short
    //Date.string(from: String)
    datetxt.text = "\(datepicker.date)"
    self.view.endEditing(true)
}

当我运行应用程序时,它会选择日期,但它也会在文本字段中显示时间。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-21 03:44:46

你没有使用你的DateFormatterdatetxt.text = "\(datepicker.date)"只是将text设置为日期选择器的日期(包括日期和时间)的description。但你根本不用你的格式化程序。

顺便说一句,我不会使用Date作为日期格式化程序的名称。人们通常会使用formatterdateFormatterDate只会引起对同名Swift类型的混淆。

因此,你可以这样做:

代码语言:javascript
复制
let formatter = DateFormatter()
formatter.dateStyle = .short
datetxt.text = formatter.string(from: datepicker.date)
票数 1
EN

Stack Overflow用户

发布于 2017-11-21 04:25:15

在这里,您可以使用尚未显示任何日期格式化程序的格式化程序。

代码语言:javascript
复制
        //here is current date
        let date = Date()

        //formatter to return value as 21-11-2017
        let formatter = DateFormatter()
        formatter.dateFormat = "dd-MM-yyyy"

        //Date Output
        let result = formatter.string(from: date)

        //second formatter to return time format like 2:31 Am
        let formatter1 = DateFormatter()
        formatter1.dateFormat = "h:mm a"

        //Time Output
        let result1 = formatter1.string(from: date)

        //set values for example using label for reference 
        DateLabel.text = result
        TimeLabel.text = result1

        //actual output is as Follows:
        DateLabel = 21-11-2107
        TimeLabel = 9:54 AM
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47404040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档