Tengo una NSDateque debo comparar con otras dos NSDatee intento con NSOrderAscendingy NSOrderDescendingpero ¿si mi fecha es igual en otras dos fechas?
Ejemplo: si tengo un myDate = 24/05/2011 y otros dos que son uno = 24/05/2011y dos, 24/05/2011¿qué puedo usar?
objective-c
ios
nsdate
CiclismoEsMejor
fuente
fuente

Respuestas:
Según la documentación de Apple de
NSDate compare:En otras palabras:
Tenga en cuenta que podría ser más fácil en su caso particular leer y escribir esto:
Consulte la documentación de Apple sobre este .
fuente
NSDateComponentsDespués de buscar mucho en stackoverflow y en la web, tengo que concluir que la mejor manera de hacerlo es así:
También puede cambiarlo a diferencia entre horas.
¡Disfrutar!
Editar 1
Si desea comparar la fecha con el formato de dd / MM / aaaa solamente, debe agregar las siguientes líneas entre
NSDate* currentdate = [NSDate date];&&NSTimeInterval distancefuente
Supongo que está preguntando cuál es el valor de retorno en la función de comparación.
Si las fechas son iguales entonces regresando
NSOrderedSameSi es ascendente (2do argumento> 1er argumento) regresa
NSOrderedAscendingSi es descendente (2nd arg <1st arg) return
NSOrderedDescendingfuente
No sé exactamente si ha preguntado esto, pero si solo desea comparar el componente de fecha de un NSDate, debe usar NSCalendar y NSDateComponents para eliminar el componente de tiempo.
Algo como esto debería funcionar como una categoría para NSDate:
fuente
NSDateen realidad representa un intervalo de tiempo en segundos desde una fecha de referencia (creo que el 1 de enero de 2000 UTC). Internamente, se usa un número de punto flotante de doble precisión, por lo que es muy poco probable que dos fechas arbitrarias se comparen de la misma manera, incluso si son el mismo día. Si desea ver si una fecha en particular cae en un día en particular, probablemente necesite usarNSDateComponents. p.ejfuente
Verifique la siguiente función para la comparación de fechas, primero cree dos objetos NSDate y pase a la función: Agregue las siguientes líneas de código en viewDidload o según su escenario.
aquí está la función
Simplemente cambie la fecha y pruebe la función anterior :)
fuente