erschaudern
Es sieht aus wie Sie zwei verschiedene Kalenderwerkzeug haben? datePicker
und datePicker1
? Was ist damit?
Auch dann, wenn dies nicht tun, was Sie erwarten:
NSDate *newDate1 = [now dateByAddingTimeInterval:60*60*24*364];
, dass ein neuer Termin schafft, die genau 31.449.600 Sekunden in die Zukunft. Es ist nicht etwas anderes als das tun.
Was Sie tun möchten, ist das gesamte Datum zu extrahieren Komponenten aus dem aktuellen Datum und Null sie aus:
NSDate *now = [NSDate date];
NSDateComponents *nowComponents = [[NSCalendar currentCalendar] components:(NSEraCalendarUnit | NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:now];
// technically these next lines are unnecessary, since we only pulled out the era-year-month-day, but they're included here for understanding/completeness:
[nowComponents setHour:0];
[nowComponents setMinute:0];
[nowComponents setSecond:0];
// now we can turn it back into a date:
NSDate *todayAtMidnight = [[NSCalendar currentCalendar] dateFromComponents:nowComponents];
Siehe http://stackoverflow.com/questions/5358678/how-do- i-set-an-existing-nsdates-time – Glenn