2017-02-08 5 views
0

Wie konvertiert man in Swift 3.0 den Datumsauswahlwert in den String-Typ?Wie konvertiert man Datumsauswahl in String in swift 3.0?

Im Moment habe ich es geschafft, Datumsauswahl zu erstellen, aber der Wert, der im Textfeld erscheint, ist das heutige Datum, das 2/8/17, m/d/yy Format ist.

Mein Ziel ist es m/d/yy in String und der Datumswert wird 2017.02.08, yyyy/mm/dd Format wie unten

Der Code zu konvertieren.

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

Kann jemand helfen?

Danke.

Antwort

2

Dafür müssen Sie dateFormat Eigenschaft von DateFormatter nicht die dateStyle und timeStyle setzen.

func donePick(){ 

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

wird es automatisch als String gespeichert? Ich meine dieses Datum "JJJJ-MM-TT" Wert – Jamilah

+0

Ursache ich möchte den Wert als String-Typ in Web-Server buchen. – Jamilah

+1

@Jamilah Sie wollen das Datum im Format "2017-02-08", also müssen Sie das entsprechende DateFormat mit 'DateFormatter' einstellen, in Ihrem Fall ist es' JJJJ-MM-TT', versuchen Sie es wie meine Antwort auf eine Art funktioniert Sie wollen. –

Verwandte Themen