Gibt es einen besseren Weg, um morgen Mitternacht zu finden?

Gibt es einen besseren Weg, dies zu tun?

-(NSDate *)getMidnightTommorow {
    NSCalendarDate *now = [NSCalendarDate date];
    NSCalendarDate *tomorrow = [now dateByAddingYears:0 months:0 days:1 hours:0 minutes:0 seconds:0];
    return [NSCalendarDate dateWithYear:[tomorrow yearOfCommonEra]
                                  month:[tomorrow monthOfYear]
                                    day:[tomorrow dayOfMonth]
                                   hour:0
                                 minute:0
                                 second:0
                               timeZone:[tomorrow timeZone]];
}

Beachten Sie, dass ich immer die nächste Mitternacht haben möchte, auch wenn es zufällig Mitternacht ist, wenn ich diesen Anruf tätige. Wenn es jedoch 23:59:59 ist, möchte ich natürlich, dass die Mitternacht in einer Sekunde kommt.

Die natürlichen Sprachfunktionen wirken schuppig, und ich bin mir nicht sicher, was Cocoa tun würde, wenn ich im Feld "Tag" den Wert 32 überschreiten würde. (Wenn das klappen würde, könnte ich den [now dateByAddingYears: ...] -Aufruf fallen lassen.)

Antworten auf die Frage(6)

Ihre Antwort auf die Frage