Y a-t-il une meilleure façon de faire cela?Y a-t-il une meilleure façon de trouver minuit demain?
-(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]];
}
Notez que je veux toujours la prochaine minuit, même si elle se trouve être minuit quand je fais cet appel, si elle arrive à être 23:59:59, je veux bien sûr de minuit qui vient en une seconde. Les fonctions du langage naturel semblent squameuses, et je ne sais pas ce que Cocoa ferait si je passais 32 dans le champ "day". (Si ce travailleriez je pouvais laisser tomber les [maintenant dateByAddingYears: ...] appel)
Et suivant de cette pointeur, il semble que je puisse couper la plupart de ce que dateFromComponents * semble * tolérer des jours après la fin du mois. – Dre
dateFromComponents * peut * tolérer des valeurs hors limites, mais cela n'est pas garanti. Vous êtes fortement encouragé à ne pas compter sur cela. – mmalc
Je suis sur la côte est, et toute la journée aujourd'hui quand je fais la conversion ci-dessus, je reçois 1 heure (Mon temps est de -5 heures, mais il semble que NSCalendar est convaincu que c'est 4 heures. –