NSDate/NSDateFormatter - Speichern nur die Zeit, nicht das Datum?
Habe ich schon Rum gesucht aber ich habe nichts gesehen, dass diese Adressen so ich hoffe jemand kann helfen, deaktivieren Sie dies für mich. Was ich versuche zu tun, ist mit einem NSDate variable(in core data) zu speichern, die Uhrzeit, nicht das Datum und die Uhrzeit, aber nur die Zeit im format HH:MM:SS;
Nach einem Blick auf die NSDateFormatter Klasse Referenz-und der Beispielcode war ich in der Lage, es zu zwicken und zu denken, dass mein code sollte wie folgt Aussehen:
NSDateFormatter *timeOfArrival = [[NSDateFormatter alloc] init];
[timeOfArrival setTimeStyle:NSDateFormatterLongStyle];
[timeOfArrival setDateStyle:NSDateFormatterNoStyle];
[timeOfArrival setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]];
NSString *etaStr = [attributeDict objectForKey:@"cumulativeTime"];
NSLog(@"%@", etaStr);
checkpoint.eta = [timeOfArrival dateFromString:etaStr];
Alles bis in die Letzte Zeile, wo ich versuche, meine NSDate-Objekt aus meinem string funktioniert, aber nach, dass, der checkpoint.eta ist immer noch null.
etaStr Ausgaben korrekt meine erwarteten Wert, 00:14:00 Uhr, zum Beispiel, aber ich bin mir nicht sicher, was ich falsch mache.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nach der Einstellung für das Gebietsschema und die Datums-format-Sie sollten in der Lage sein, zu konvertieren von date in string und zurück. Denn Sie brauchen nur die Zeit, die Sie ignorieren können, die den Teil des Datums.
Ausgabe
Swift-version
Zeit zu aktualisieren diese Antwort für swift:
Swift 3-version
Nach zu denken, diese durch ein bit, und versucht Mundi Antwort, es sah aus wie Mundi war die Schaffung einer Zeichenkette aus einer Zeichenkette, ohne das ein NSDate oder der Konvertierung in oder aus einem NSDate. Ich brauchte, um zu speichern ein NSDate als gut, so hier ist, wie können Sie bekommen, was Sie wollen relativ leicht:
Mundi Antwort funktioniert, so jemand sollte upvote seine Antwort, da ich nach unten gestimmt zu schnell, ohne zu berücksichtigen, dass verlassen der date @"1/21/13 00:14:00" egal, in diesem Fall, aber er sollte haben legen Sie ein Datum vor, damit es klar ist, dass das Datum nicht ausgegeben. Jemand variable von einem web service oder einem anderen Objekt hätte das Datum, dann die @"HH:mm:ss a" ziehen würde die Zeit nur. Dies hilft auch, die Notwendigkeit, die "AM/PM" auf Ihrer Datum oder Zeit.
Swift 4
Wenn Sie verwenden möchten die Zeit mit dem heutigen Datum
wenn Sie möchten, fügen Sie Zeit, in jedem Datum, dann:-
Landete ich nicht mit NSDate/NSDateFormatter, weil ich nicht bekommen konnte es ordnungsgemäß zu funktionieren. Meine Lösung Bestand in der Analyse meiner Zeit-string in ein Stunden, Minuten und Sekunden. Ich schließlich die Umwandlung alles in Sekunden um und speichern Sie in dieser Weise.