Hazırlamanız iyi görünüyor.
Sıfır sonucu bulmanızın nedeni iade edilir, ancak tarihler tamamen aynı olmayabilir. Örneğin
: Bu iki değer tam olarak aynı olmasa olarak
05/04/2012 13:37:00
05/04/2012 13:37:01
ile uymaz.
Tarihi (gün, ay, yıl) ve saati kontrol etmek ister misiniz?
Sadece tarihi kontrol etmek isterseniz, bir başlangıç tarihi ve bitiş tarihi oluşturmalı ve kullanıcı tarafından seçilen tarihi kullanarak referans çerçevesi olarak karşılaştırmalısınız.
Buna benzer bir şey, 00:00:00 için bir tarih ve saat oluşturmalıdır.
//gather current calendar
NSCalendar *calendar = [NSCalendar currentCalendar];
//gather date components from date
NSDateComponents *dateComponents = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:[NSDate date]];
//set date components
[dateComponents setHour:0];
[dateComponents setMinute:0];
[dateComponents setSecond:0];
//return date relative from date
return [calendar dateFromComponents:dateComponents];
23:59:59 saat, dakika ve saniye ayarlayarak Başka bir tarih oluşturma ve kullanıcı seçilen tarih bu aralıklar arasında düşer olmadığını kontrol edin. genellikle gün eşittir insan iletişim tarihine iken
[NSPredicate predicateWithFormat:@"date BETWEEN %@", [NSArray arrayWithObjects:startOfDay, endOfDay, nil]]
Çalışıyor, teşekkürler yardımcı olur. Bu yüklemede diziyi kullanarak bir hata alıyorum ama bu çalıştı ..... @ "eDate>% @ AND eDate <% @", date1, date2] Tekrar teşekkürler. – user2228755
neden NSHourCalendarUnit | ekliyorsunuz NSMinuteCalendarUnit | NSSecondCalendarUnit 'bileşenlerinde: fromDate:' sadece atmak için mi? – vikingosegundo
Benim hatam. Bu, bu bileşenleri gerçekten kullanan bir projeden yapıştırdığım koddu. Bu yazının amaçları için onları kaldırmayı ihmal ettim. Şimdi bunu değiştireceğim;] Bunu işaretlediğiniz için teşekkürler! – CaptainRedmuff