Gibt es einen besseren Weg, dies zu tun?Gibt es einen besseren Weg, morgen Mitternacht zu finden?
-(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]];
}
Bitte beachte, dass ich immer die nächste Mitternacht will, auch wenn es Mitternacht sein geschieht, wenn ich diesen Anruf machen, aber wenn es passiert, 23.59.59 zu sein, ich natürlich will die Mitternacht, die kommt in einer Sekunde.
Die natürliche Sprachfunktionen scheinen flockig, und ich bin nicht sicher, was Cocoa tun würde, wenn ich 32 im „Tag“ Feld übergeben. (Wenn das funktionieren würde, ich könnte die [jetzt dateByAddingYears: ...] fallen call)
Und nach aus, dass Zeiger, es sieht so aus, als könnte ich das meiste ausschneiden, da dateFromComponents * Tage nach dem Ende des Monats zu tolerieren scheint. – Dre
dateFromComponents * kann Werte außerhalb der Grenzen tolerieren, aber es ist nicht garantiert. Es wird dringend empfohlen, sich nicht darauf zu verlassen. – mmalc
Ich bin an der Ostküste, und alle heute Tag, als ich die obige Umwandlung ich 01.00 erhalten (Meine Zeit offet ist -5 Stunden, aber es scheint, dass NSCalendar überzeugt ist, dass es -4 Stunden. (Auch wenn ich ausdrücklich Stellen Sie die Zeitzone ein –