swift - Konvertierung einer Zeichenfolge in ein Datum und dann einen String in einem anderen format

Angenommen ich habe einen einfachen String, extrahiert aus einem array von strings (die Daten) -

var myDateString = "2015-11-25 04:31:32.0"

Nun, ich will es in einen string konvertieren, der aussieht wie Nov 25, 2015.

Dafür, ich nehme an, ich muss -

  • bekommen ein NSDate date-Objekt aus string mit NSDateFormatter
  • Holen Sie sich einen string aus, dass NSDate-Objekt, indem Sie einige Funktionen (welche ich habe nicht in der Lage zu finden)

Ich habe versucht, diesen Spielplatz, aber nicht in der Lage waren zu lösen, so ein einfaches problem.

Hier ist was ich versucht habe -

Line 1| var dateFormatter = NSDateFormatter()
Line 2| dateFormatter.locale = NSLocale.currentLocale()
Line 3| dateFormatter.dateFormat = "YYYY-MM-dd HH:mm:ss.A"
Line 4| let somedate = dateFormatter.dateFromString(str)
Line 5| let somedateString = dateFormatter.stringFromDate(somedate!)

In der Seitenleiste von Xcode, Linie 4 Drucke "Nov 25, 2015, 12:00 AM", aber wenn ich versuche, drucken Sie eine Zeichenfolge aus somedate bekomme ich "2015-11-25 00:00:00.0".

Habe ich nicht gefunden eine einzige richtige Erklärung von NSDates überall.

Diese war so viel einfacher, in Java mit parse() und format() Funktionen für Datumsangaben.

"ich habe nicht gefunden eine einzige richtige Erklärung von NSDates überall." – Es gibt eine Daten-Formatierung Guide mit einem link auf die Unicode-Datum-format-Spezifikation. Der erste Fehler ist, dass das format seit Jahren ist "yyyy", nicht "YYYY". Auch Sie benötigen beiden verschiedene Formatierungshilfen für die Konvertierung, eine für dateFromString und die andere für stringFromDate.
... und YYYY statt yyyy ist die Ursache für ein gutes lachen jedes Jahr rund um den 1. Januar, wenn alle posts, wie Ihre Termine sind gebrochen.

InformationsquelleAutor Kunal Chawla | 2016-01-16

Schreibe einen Kommentar