5
Próbuję zrobić etykietę, która mówi, ile dni pozostało do zdarzenia. Chcę obliczyć różnicę między dzisiejszą datą a datą zdarzenia. Używam tego kodu i daje mi on -4600. Działa dobrze, dopóki nie skorzystam z dzisiejszej daty.Jak uzyskać liczbę dni między dwoma datami celu-c
NSDateFormatter *f = [[NSDateFormatter alloc] init];
[f setDateFormat:@"yyyy-MM-dd"];
NSDate *startDate = [NSDate date];
NSDate *endDate = [f dateFromString:end];
NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *components = [gregorianCalendar components:NSDayCalendarUnit
fromDate:startDate
toDate:endDate
options:0];
return components.day;
return components.day;
Jedno pytanie, w którym mówisz, to duplikat, w którym użyłem tej odpowiedzi i nie działa. – user1898829
Czy zweryfikowałeś, że 'NSDate * endDate = [f dateFromString: end]' zwraca oczekiwaną datę? - Co zawiera ciąg 'end'? –
@ user1898829 Powinieneś był o tym wspomnieć w swoim pytaniu – borrrden