2017-02-08 13 views
0

Как преобразовать значение выбора даты в String type в Swift 3.0?Как преобразовать значение выбора даты в String в swift 3.0?

Прямо сейчас мне удалось создать выбор даты, но значение, которое появляется в текстовом поле, это сегодняшняя дата, которая равна 2/8/17, m/d/yy.

Моя цель состоит в том, чтобы преобразовать м/д/уу в Строка и значение даты будет 2017-02-08, гггг/мм дд/ Формат

код, как показано ниже.

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) 
    } 
} 

Может кто-нибудь помочь?

Спасибо.

ответ

2

Для этого вам необходимо установить dateFormat Недвижимость DateFormatter не dateStyle и timeStyle.

func donePick(){ 

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

Это автоматический магазин как строка? Я имею в виду, что дата "yyyy-MM-dd" значение – Jamilah

+0

Причина Я хочу опубликовать значение как тип строки на веб-сервере. – Jamilah

+1

@Jamilah Вам нужна дата в формате «2017-02-08», поэтому вам нужно установить свой формат dateFormat с 'DateFormatter', в вашем случае это' yyyy-MM-dd', попробуйте, как мой ответ будет работать таким образом вы хотите. –