2010-06-02 19 views

Répondre

5

Commencez par les convertir en horodatage UNIX en ignorant les millisecondes.

NSUInteger time1 = (NSUInteger)[date1 timeIntervalSince1970]; 
NSUInteger time2 = (NSUInteger)[date2 timeIntervalSince1970]; 

Ignorer les secondes.

time1 = time1 - (time1 % 60); 
time2 = time2 - (time2 % 60); 

Maintenant, vous pouvez les comparer en toute sécurité.

if (time1 == time2) { 
    NSLog(@"Bingo"); 
} 
+0

merci pour votre avis iwat – RAGOpoR

2

Utilisez NSCalendar pour obtenir le NSDateComponents qui vous intéresse. Ensuite, il est facile de comparer celles-ci.

Il peut être suffisant de vérifier si la date actuelle est postérieure à la date de l'alarme. Si c'est le cas et que l'alarme n'a pas été arrêtée, vous devriez probablement s'éteindre même si l'ordinateur a momentanément perdu son alimentation ou quelque chose comme ça.

+0

merci pour votre conseil Chuck – RAGOpoR