in meiner iPhone-Anwendung Ich habe ein Startdatum des Ereignisses, zum Beispiel: 2013-05-17 15:00:12 +0000. Meine Frage ist, wie kann ich 2013-05-17 mit dem heutigen Datum ändern, aber die Zeit gleich lassen?
Sie müssen die Datumskomponenten sammeln und die erforderlichen Eigenschaften ändern.
%Vor%Entweder das, oder Sie können die Anzahl der Sekunden in 1 Tag hinzufügen, um den Wert zu erhöhen:
%Vor%Lesen Sie mehr auf meinem Blog Ссылка
Heute versuche ich, das Jahr eines Date-Objekts in Swift auf 2000 zu ändern.
%Vor% Erstens habe ich versucht mit date(bySetting:)
, aber es funktioniert nicht mit dem letzten Jahr. Es gibt einfach nil
Zweitens habe ich versucht mit dateComponents
. Die component.year
hat sich geändert, aber der Kalender gibt immer noch das ursprüngliche Datum zurück, sehr seltsam !!. Egal welche Zeitzone und welcher Kalender ich verwende, es hat immer noch dieses Problem
Schließlich habe ich versucht, expliziter zu sein, und es funktioniert
Sie müssen numberOfSeconds von heute um 0 Uhr und andere date numberOfSeconds um 0 Uhr morgens finden. Finde den Unterschied zwischen ihnen. Dann zu numberOfSeconds vom 2013-05-17 15:00:12 +0000 diesen Unterschied hinzufügen.
Warum können Sie nicht einfach das Startdatum mit dem aktuellen Datum und der aktuellen Uhrzeit ändern, indem Sie die API dateWithString . Wenn nicht, dann können Sie sich wahrscheinlich auch die dateByAddingTimeInterval API von NSDate ansehen, indem Sie diff von timeinterval zwischen zwei NSDate
nehmen