Pek çok cevaplar ve pek çok kusurları ...
You NSDateFormatter
kullanabilirsiniz Bir tarihten kullanıcı dostu bir dize almak için. Amaçok bu dize tarih karşılaştırmaları için kullanmak için kötü bir fikir! vb bir buluşmamız yıl, ay, gün, saat, dakika, hakkında bilgi almak istiyorsanız
Eğer NSCalendar
ve NSDateComponents
kullanmalıdır, dizeleri kullanarak içerir sorunuza ...
herhangi bir cevap yok sayın. aşağıdakileri yapabilirsiniz 9:00 ila 18:00 bir tarih olup olmadığını kontrol etmek için
:
NSDate *date = [NSDate date];
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *dateComponents = [calendar components:NSHourCalendarUnit fromDate:date];
if (dateComponents.hour >= 9 && dateComponents.hour < 18) {
NSLog(@"Date is between 9:00 and 18:00.");
}
DÜZENLEME:
Whoops, dateComponents.hour <= 18
kullanarak tarihlerde yanlış sonuçlara neden olur 18:01 gibi. dateComponents.hour < 18
gitmenin yoludur. ;)
Tarihin diğer iki tarih arasında olup olmadığını görmek için bağlantıya bakın: http://stackoverflow.com/a/1072993/2092007 –
@kshin thankyou linkiniz için farklıdır, çünkü bu belirli bir şey değildir. gün veya ay, bu "bugün" s 9: 00-18: 00 – Relex
Her zaman bugün dünyanın bir yerinde 9:00 ve 18:00 arasında. :) – nickgrim