2017-02-26 7 views
1

Ich habe versucht, das Datum wie 2017-02-11 Zeichenfolge auf das Datum zu konvertieren, aber das Ergebnis gibt mir etwas zurück wie diese 2017-02-10 16:00:00 +0000. Ich verwende den folgenden Code unten.Wie konvertiert man String in Swift 3 ohne Zeit?

let localDate = dateFormatter.string(from: date) //2017-02-11 

    let dateFormatter2 = DateFormatter() 
    dateFormatter2.dateFormat = "yyyy-MM-dd" 

    let selectedDate = dateFormatter2.date(from: localDate) 
    print("Did Select \(selectedDate)") // 2017-02-10 16:00:00 +0000 
+0

Sie erhalten Anzeigen ein Datum ohne Anzeige der Uhrzeit aber kein Datum ohne Uhrzeit –

+0

Das Datum ist korrekt. 'print' zeigt das Datum in UTC an und Ihre lokale Zeitzone ist offensichtlich UTC + 8 – vadian

Antwort

3
let dateWithTime = Date() 

let dateFormatter = DateFormatter() 
dateFormatter.dateStyle = .short 

let date = dateFormatter.string(from: date) // 2/10/17 

Dies wird es richtig formatiert werden, aber dies wird nur für Anzeigezwecken sein. Alle Date haben Zeit.

1

Es ist wahr, dass es keine Date ohne Zeitelement ist, aber wenn Sie brauchen etwas, das Sie ganze Tage vergleichen können, können Sie den ersten Moment eines bestimmten Date mit

Calendar.current.startOfDay(for: dateWithTime) 
Verwandte Themen