Wie erhalte ich NSDate für 00:00 am Tag des [NSDate Datums]?

Ich muss ein NSDate-Objekt für 00:00 (Tagesbeginn) von [NSDate-Datum] abrufen. Sagen wir, es ist derzeit 11:30 (Rückgabe bis [NSDate-Datum]) am 01.06.2012, jetzt bin ich Ich brauche ein NSDate für den 01.06.2012 um 00:00 Uhr.

Ich habe das noch nicht ausprobiert, aber ich denke an Folgendes:

NSDate *now = [NSDate date];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit) fromDate:now];
[components setHour:0];
[components setMinute:0];
[components setSecond:0];
NSDate *morningStart = [calendar dateFromComponents:components];

Ich erhalte also zuerst das aktuelle Datum (z. B. 01.06.2012) und erstelle eine NSDateComponent für das Datum. Dann setze ich Stunde / Minute / Sekunde auf 0 und das Jahr / Monat / Tag sollte nicht geändert werden (z. B. 01) / 06/2012) dann erstelle ich ein NSDate für diese Komponenteneinstellung und kann ich ein Datum von 00:00:00 01/06/2012 erhalten?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage