Wie würde ich ein NSString
" 01/02/10 " (dh 1. Februar 2010) in ein " konvertieren " NSDate
? Und wie könnte ich den NSDate
Rücken in eine Schnur verwandeln ?
ios
objective-c
nsstring
nsdate
Cannyboy
quelle
quelle
Antworten:
Swift 4 und höher
Aktualisiert: 2018
Zeichenfolge bis Datum
Datum zu String
Swift 3
Aktualisiert: 20. Juli 2017
Zeichenfolge zu NSDate
NSDate to String
Schnell
Aktualisiert: 22. Oktober 2015
Zeichenfolge zu NSDate
NSDate to String
Ziel c
NSString zu NSDate
NSDate in NSString konvertieren:
quelle
NSDate *dateFromString = [[NSDate alloc] init];
wenn dem Zeiger in der nächsten Zeile ein neuer Wert zugewiesen wird?UPDATE 2019 (Swift 4):
Machte eine
Date
Erweiterung gemacht. Es verwendetNSDataDetector
anstelle vonNSDateFormatter
.Ziemlich angenehm, es erkennt sogar Dinge wie "Tomorrow at 5" .
Geht wie:
UPDATE 2014:
Machte ein Habe dafür NSString-Erweiterung gemacht.
Dank an NSDataDetector erkennt es eine ganze Menge Format.
Teil von Holen Sie sich als eppz! Kits die Kategorie NSString + EPPZKit.h von GitHub.
URSPRÜNGLICHE ANTWORT 2013:
Verwenden Sie NSDataDetector zum Parsen des Datums , unabhängig davon, ob Sie sich über das in der Zeichenfolge enthaltene Datumsformat nicht sicher sind (oder sich nicht darum kümmern) .
quelle
NSString
->2013-09-11 01:31:22 +0000
konvertiert zuNSDate
->2013-09-11 13:31:22 +0000
XCTAssertEqual(Date.FromString("2013-09-11 01:31:22 +0000"), Date.FromCalendar(2013, 9, 11, 1, 31, 22))
scheint in Ordnung.Wenn Sie Datumsangaben mit festem Format verwenden, müssen Sie das Gebietsschema für den Datumsformatierer auf festlegen
"en_US_POSIX"
.Entnommen aus dem Datenformatierungshandbuch
Swift 3 oder höher
Verwendung:
Analysieren des benutzerdefinierten Datums und Zurückkonvertieren des Datums in dasselbe Zeichenfolgenformat:
Hier finden Sie alle Elemente, mit denen Sie es nach Bedarf anpassen können:
quelle
Warum nicht eine Kategorie zu NSString hinzufügen?
quelle
Die Verwendung von "10" für die Darstellung eines Jahres ist nicht gut, da dies 1910, 1810 usw. sein kann. Sie sollten dafür wahrscheinlich 4 Ziffern verwenden.
Wenn Sie das Datum auf so etwas wie ändern können
Dann können Sie verwenden:
quelle
quelle
quelle
Wenn Sie das Format einstellen möchten, verwenden Sie den folgenden Code:
quelle
Verwenden Sie diese Methode, um von
NSString
zu konvertierenNSdate
:quelle
Wenn jemand heutzutage daran interessiert ist, so etwas in Swift zu machen, habe ich einen Anfang mit etwas, obwohl es nicht perfekt ist.
quelle
Datum zu NSString
NSString zu NSDate
quelle
Hierfür können Sie Erweiterungen verwenden.
Während der Ausführung sieht der tatsächliche Code also wie folgt aus
Es gibt auch einige Standardmethoden, aber ich denke, es funktioniert möglicherweise nicht für das Format, das Sie aus der Dokumentation angegeben haben
quelle
Die beste Vorgehensweise besteht darin, sich eine allgemeine Klasse zu erstellen, in der Sie alle allgemeinen Verwendungsmethoden, die in fast allen Projekten nützlich sind, einfügen und dort den von @Pavan vorgeschlagenen Code wie folgt hinzufügen:
.. und so weiter für alle anderen nützlichen Methoden
Auf diese Weise erstellen Sie einen sauberen wiederverwendbaren Code für Ihre App. Prost!
quelle
Gemäß Swift 2.2
Sie können NSDate leicht von String und String von NSDate erhalten. z.B
Erster Datumsformatierer einstellen
Holen Sie sich jetzt das Datum von der Zeichenfolge und umgekehrt.
Jetzt viel Spaß.
quelle
NSString zu NSDate oder NSDate zu NSString
quelle
Die obigen Beispiele sind nicht nur für Swift 3.0+ geschrieben
Update - Swift 3.0+ - Datum in String konvertieren
quelle
String To Date
Date To String
quelle