2016-11-19 3 views
-6

Ich möchte den Monat & Datum von Datum als 29 NOV in Swift bekommen. Ich habe unten Code versucht, aber das funktioniert mir nicht.Wie bekomme ich Monat und Tag in Swift?

func getMonthfromDate(str_date:String) 
    { 
    let dateAsString = str_date 
    let dateFormatter = DateFormatter() 
    dateFormatter.dateFormat = "dd-MM-yyyy" 
    let date = dateFormatter.date(from: dateAsString) 
    dateFormatter.dateFormat = "dd-mm" 
    print("date is \(dateFormatter.string(from: date!))") 

    } 


Input-"19-11-2016" 
Output-19:00 

Bitte führen Sie die richtige Methode?

+1

Können Sie erweitern auf * "funktioniert nicht [für?] Mich" *? – jonrsharpe

+0

Es gibt mir einfach nicht das gewünschte Ergebnis – Techiee

Antwort

4

Ihr zweites Format ist falsch es dd-MM sein sollte, mm für Minute ist auch in Ihrer Frage haben Sie gesagt, dass Sie Datum und Monat wollen wie 29 NOV dann sollte Ihr Formiat dd-MMM sein.

let dateAsString = str_date 
let dateFormatter = DateFormatter() 
dateFormatter.dateFormat = "dd-MM-yyyy" 
if let date = dateFormatter.date(from: dateAsString) { 
    dateFormatter.dateFormat = "dd-MMM" 
    print("date is \(dateFormatter.string(from: date))") 
} 

Hinweis: Zwingen Objekt Wrap Datum nicht ! verwendet, wird es Ihre Anwendung abstürzen, wenn es nil Teig ist mit if let und guard optional Verpackung zu verwenden.

Überprüfen Sie dies für andere date formatters.

+1

Thx. Das hat mir in etwas geholfen –

Verwandte Themen