Для определенных значений следующий фрагмент не возвращает правильные значения. Он сравнивает текущее время с 2 другими датами, которые сохраняются в телефоне. Он работает в ранние часы, но, скажем, в 2:48 утра он не ...
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en"] autorelease]];
[dateFormatter setDateFormat:@"EEEE HH:mm dd-MM-y"];
NSString *dateString = [dateFormatter stringFromDate:self.fechaInicio];
NSLog(@"La date start es: %@", dateString);
//PRINTS : La date start es: Monday 22:00 05-01-1970
dateString = [dateFormatter stringFromDate:self.fechaFin];
NSLog(@"La Date end es: %@", dateString);
dateString = [dateFormatter stringFromDate:testDate];
//PRINTS : La Date end es: Monday 05:00 05-01-1970
NSLog(@"DAte inside es: %@", dateString);
//PRINTS : DAte inside es: Monday 02:52 05-01-1970
NSLog(@"time interval nicio: %g", [testDate timeIntervalSinceDate:self.fechaInicio]);
//PRINTS : time interval nicio: -68852
NSLog(@"time interval fin: %g", [testDate timeIntervalSinceDate:self.fechaFin]);
//PRINTS : time interval fin: -7652
return ([testDate timeIntervalSinceDate:self.fechaInicio] > 0 &&
[testDate timeIntervalSinceDate:self.fechaFin] < 0);
Все даты даны в 1970 году, я сделал это специально, потому что мне нужно сравнивать только дни недели, поэтому я установил их в том же году и месяце.
Я совершенно заблудился, поскольку он работает часами до полуночи, но не работает позже.
Спасибо.