2011-11-26 9 views
8

Powiel możliwe:
How to compare two dates in Objective-CUstal, czy dzisiejsza data jest w zakresie dwiema datami na iOS

Chciałbym pop-up wiadomość w jednym z moich apps gdy data mieści się w zakresie dwóch terminach (np okres wakacyjny)

Więc jak

if(dateInRangeof:date1, date2){True}else{false} 

Szukasz fragmentów kodu lub apisa do obejrzenia. Cheers

+1

Sprawdź to [pytanie] (http://stackoverflow.com/questions/949416/how-to-compare-two-dates-in-objective-c), myślę, że to będzie bardzo pomocne . – Mousa

+2

Nie widzę tego jako duplikatu. Poniższa odpowiedź odpowiada na konkretne pytanie w sposób zwięzły. – wuf810

Odpowiedz

35
- (BOOL)isDate:(NSDate *)date inRangeFirstDate:(NSDate *)firstDate lastDate:(NSDate *)lastDate { 
    return [date compare:firstDate] == NSOrderedDescending && 
      [date compare:lastDate] == NSOrderedAscending; 
} 
+8

Przypominamy, że to nie jest wszystko. Włącznie będzie "return!" ([Date compare: firstDate] == NSOrderedAscending) &&! ([Date compare: lastDate] == NSOrderedDescending;) ' – nagem

+4

Swift:' '' func isDate (data: NSDate, inRange fromDate: NSDate, todate: NSDate, włącznie: Bool) -> Bool { jeśli włącznie { powrotu (date.compare (fromdate) == .OrderedAscending) && (date.compare (todate) == .OrderedDescending) } indziej! { return data.compare (fromDate) == .OrderedDescending && date.compare (toDate) == .OrderedAscending } } '' ' –

Powiązane problemy