Wie stelle ich die Zeit für NSDate ein?

7

Ich möchte die NSDate-Zeit mit meinen gewünschten Stunden einstellen: Minuten: Sekunden Derzeit arbeite ich mit NSDate Komponente aber es gibt nicht das gewünschte Ergebnis

%Vor%     
Mubashir Hassan Khan 02.09.2011, 20:01
quelle

4 Antworten

16

Ihr Ansatz sollte gut funktionieren. Ich brauchte eine Lösung für dieses Typ-Problem (Einstellung der einzelnen Datumskomponenten) und der folgende Code funktioniert wie erwartet für mich. Meine Situation: Ich wollte ein Datumsobjekt erstellen, das das aktuelle Datum verwendet, aber die Zeit auf einen Wert eingestellt hat, der als String übergeben wurde.

%Vor%

Beachten Sie, dass Sie bei der Beurteilung, ob eine Zeit genau zu sein scheint, wirklich auf Zeitzonen achten müssen. Wenn Sie zum Beispiel in meiner App an einem Haltepunkt anhalten, sehen Sie die Zeit in GMT (also sieht es anders aus als die Eingabezeit, die in meiner lokalen Zeit ist), aber wenn die Zeit tatsächlich auf dem Bildschirm im angezeigt wird App wird formatiert, um in der lokalen Zeitzone angezeigt zu werden. Möglicherweise müssen Sie dies berücksichtigen, um festzustellen, ob das Ergebnis tatsächlich ist, was anders ist als erwartet.

Wenn das nicht hilft, können Sie näher ausführen "nicht das gewünschte Ergebnis zu geben"? Welches Ergebnis gibt es und wie vergleicht es das, was Sie erwartet haben?

    
J.R. Armstrong 25.09.2011, 16:24
quelle
21

Das funktioniert großartig als NSDate Kategorie.

%Vor%

Wenn Sie bei der obigen Kategorie ein vorhandenes Datum haben, an dem Sie die Uhrzeit ändern möchten, tun Sie das so:

NSDate *newDate = [someDate dateWithHour:10 minute:30 second:00];

Wenn Sie jedoch versuchen, Stunden von einem vorhandenen Datum hinzuzufügen oder zu subtrahieren, ist auch eine Kategoriemethode dafür einfach:

%Vor%     
memmons 14.08.2013 19:00
quelle
2

ist Swift2

%Vor%     
dattk 05.03.2016 17:50
quelle
0
%Vor%
  

iOS 8

    
quelle