2012-08-22 6 views
0

J'essaie d'utiliser +[NSDate dateWithNaturalLanguageString] sur Mac OS X (Snow Leopard) pour obtenir la date de demain.NSDate comportement impair

Je m'attendais à ce qu'il renverrait la date de demain à 12h00 mais il retourne la date de demain à 12h00. Est-ce un bug ou est-ce que je fais quelque chose de mal?

code:

date = [NSDate dateWithNaturalLanguageString:@"tomorrow"]; 

NSLog(@"DATE: %@", date); 


Sortie: DATE: 2012-08-23 12:00:00 +0100

+0

De la 'dateWithNaturalLanguageString : 'documentation:" Cela peut donner des résultats inattendus, et son utilisation est fortement déconseillée. Pour créer un objet date à partir d'une chaîne, vous devez utiliser un objet formateur de date à la place (voir NSDateFormatter et Guide de formatage des données). " –

+0

J'ai regardé la documentation et non, cela ne ressemble pas à un bogue. date à minuit, vous devez utiliser quelque chose comme "demain à minuit" – CBredlow

Répondre

0

Vous devez utiliser demain à minuit au lieu demain comme ceci:

date = [NSDate dateWithNaturalLanguageString:@"tomorrow at midnight"]; 

NSLog(@"DATE: %@", date); 

Sortie:

2012-08-24 00:00:00 +0100


Note:

Vous pouvez également utiliser Demain à < heure> AM si vous voulez du temps spécifique, par exemple:

date = [NSDate dateWithNaturalLanguageString:@"tomorrow at 1:00 AM"]; 

ou minuit:

date = [NSDate dateWithNaturalLanguageString:@"tomorrow at 12:00 AM"]; 
Questions connexes