Есть ли лучший способ сделать это?
-(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]];
}
Заметьте, что я всегда хочу следующей полуночи, даже если это будет полночь, когда я делаю этот звонок, однако, если это произойдет 23:59:59, я, конечно, хочу, чтобы полуночи пришли в одну секунду.
Функции естественного языка кажутся шелушащимися, и я не уверен, что будет делать Cocoa, если я пройду 32 в поле "день". (Если бы это сработало, я мог бы сбросить вызов [now dateByAddingYears:...])