2017-07-10 4 views
0

HALLO ich Formiat Datum aus string versuchen (1988.08.05) ich bisher konvertieren möge, wie unten angegeben, Ausgabe auch weiter unten,Format Datum von String - swift3

let dateString = "08-05-1988" 
let dateFormatter = DateFormatter() 
dateFormatter.dateFormat = "dd-MM-yyyy" 
let dateFromString = dateFormatter.date(from: dateString) 
let stringValue = String(describing: dateFromString) 

heraus gesetzt : Optional (1988-05-07 18:30:00 +0000)

Dann möchte ich das output Datum von (1988-05-07 18:30:00 +0000) zu anderem Format als formatieren unten angegeben. Aber als Format der Zeichenfolge Date ist nil

let dateFormatter = DateFormatter() 
dateFormatter.dateFormat = "yyyy-mm-dd hh:mm:ss Z" 
let date = dateFormatter.date(from: dateString) 
let formatter = DateFormatter() 
formatter.dateFormat = "dd-MMM-yyyy" 
let formatedDate:String = formatter.string(from: date!) 

Erwartete Ausgabe: 08-May-1988

Antwort

1

Der Ausgang Optional(1988-05-07 18:30:00 +0000) ist das Ergebnis der description eines Date Objekt. Es hängt nicht mit einem bestimmten String-Format zusammen.

Um 08-05-1988 zu 08-May-1988 konvertieren Sie einfach

let dateString = "08-05-1988" 
let dateFormatter = DateFormatter() 
dateFormatter.dateFormat = "dd-MM-yyyy" 
let dateFromString = dateFormatter.date(from: dateString) 
dateFormatter.dateFormat = "dd-MMM-yyyy" 
let formatedDate = dateFormatter.string(from: dateFromString!) 
0

dateFormatter.date auf dateString statt dateFromString Du nennst verwenden können. Da "08-05-1988" nicht mit dem angegebenen Format "yyyy-mm-dd hh:mm:ss Z" übereinstimmt, gibt dateFormatter.datenil zurück.