J'ai un NSDate
que je dois comparer avec deux autres NSDate
et j'essaye avec NSOrderAscending
et NSOrderDescending
mais si ma date est égale à deux autres dates?
Exemple: si j'ai un myDate = 24/05/2011
et deux autres qui sont un = 24/05/2011
et deux, 24/05/2011
que puis-je utiliser?
objective-c
ios
nsdate
faire du vélo
la source
la source
Réponses:
Selon la documentation Apple de
NSDate compare:
En d'autres termes:
Notez qu'il peut être plus facile dans votre cas particulier de lire et d'écrire ceci:
Consultez la documentation Apple à ce sujet .
la source
NSDateComponents
Après avoir beaucoup recherché stackoverflow et le Web, je dois conclure que la meilleure façon de le faire est la suivante:
Vous pouvez également le modifier en différence d'heures.
Prendre plaisir!
Modifier 1
Si vous souhaitez comparer la date au format jj / MM / aaaa uniquement, vous devez ajouter des lignes ci-dessous entre
NSDate* currentdate = [NSDate date];
&&NSTimeInterval distance
la source
Je suppose que vous demandez quelle est la valeur de retour dans la fonction de comparaison.
Si les dates sont égales, alors retour
NSOrderedSame
Si croissant (2ème argument> 1er argument) retourne
NSOrderedAscending
Si décroissant (2ème argument <1er argument) retourne
NSOrderedDescending
la source
Je ne sais pas exactement si vous avez demandé cela, mais si vous voulez seulement comparer le composant de date d'un NSDate, vous devez utiliser NSCalendar et NSDateComponents pour supprimer le composant de temps.
Quelque chose comme ça devrait fonctionner en tant que catégorie pour NSDate:
la source
NSDate
représente en fait un intervalle de temps en secondes depuis une date de référence (1er janvier 2000 UTC je pense). En interne, un nombre à virgule flottante double précision est utilisé, de sorte que deux dates arbitraires sont très peu susceptibles de se comparer égales même si elles sont le même jour. Si vous voulez voir si une date particulière tombe un jour particulier, vous devez probablement l'utiliserNSDateComponents
. par exemplela source
Vérifiez la fonction suivante pour la comparaison de date tout d'abord, créez deux objets NSDate et passez à la fonction: Ajoutez les lignes de code ci-dessous dans viewDidload ou selon votre scénario.
voici la fonction
Changez simplement la date et testez la fonction ci-dessus :)
la source