2011-11-26 32 views
8

Duplicar posibles:
How to compare two dates in Objective-CDeterminar si la fecha de hoy se encuentra en un rango de dos fechas en IOS

me gustaría para que aparezca un mensaje en una de mis aplicaciones cuando el fecha está en el rango de dos fechas (por ejemplo, el período de vacaciones)

Así como

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

Buscando cualquier fragmento de código o apis para mirar. Saludos

+1

Compruebe hacia fuera esta [pregunta] (http://stackoverflow.com/questions/949416/how-to-compare-two-dates-in-objective-c), supongo que va a ser muy útil . – Mousa

+2

No veo esto como duplicado. La respuesta a continuación responde la pregunta específica de manera concisa. – wuf810

Respuesta

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

Solo un recordatorio de que esto no es inclusivo. Inclusive sería 'return! ([Date compare: firstDate] == NSOrderedAscending) &&! ([Date compare: lastDate] == NSOrderedDescending;)' – nagem

+4

Swift: '' 'func isDate (date: NSDate, inRange fromDate: NSDate, tODATE: NSDate, incluido: Bool) -> Bool { si incluido { retorno (date.compare (fromDate) == .OrderedAscending) && (date.compare (tODATE) == .OrderedDescending) } otra cosa! { return date.compare (fromDate) == .OrderedDescending && date.compare (toDate) == .OrderedAscending } } '' ' –

Cuestiones relacionadas