Ich muss ein NSDate-Objekt für 00:00 (Beginn des Tages) von [NSDate Datum], sagen wir, wenn es derzeit 11:30 Uhr ist (zurückgegeben von [NSDate Datum]), am 01/06/2012, Jetzt muss ich am 01.06.2012 um 00:00 Uhr ein NSDate haben.Wie bekomme ich NSDate für 00:00 am Tag [NSDate Datum]?
ich nicht versucht haben, aber was in meinem Kopf ist:
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];
Also zuerst ich aktuelles Datum erhalten (sagen, es ist 01.06.2012) und ein NSDateComponent für das Datum konstruieren , dann setze ich Stunde/Minute/Sekunde auf 0 und das Jahr/Monat/Tag sollte nicht geändert werden (zB 01.06.2012), dann erstelle ich ein NSDate für diese Komponenteneinstellung und bekomme ein Datum von 00:00 : 00 01/06/2012?
Überprüfen Sie die Antwort von poozolax. Es ist viel besser und 100% korrekt! – iWheelBuy