2011-02-12 8 views
0

J'utilise le code suivant pour obtenir NSDate, le convertir en NSString puis en retour t NSDate.iPhone - Conversion entre NSDate - NSString - NSDate

NSDateFormatter* dtFormatter = [[NSDateFormatter alloc] init]; 
[dtFormatter setDateFormat:@"MM/dd/YYYY"]; 

NSDate* dt = [NSDate date]; 
NSString* strDate = [dtFormatter stringFromDate:dt]; 
NSLog(@"First = %@",strDate); 
NSDate* dt2 = [dtFormatter dateFromString:strDate]; 
NSString* strDate2 = [dtFormatter stringFromDate:dt2]; 
NSLog(@"Second = %@",strDate2); 

Mais la sortie que je reçois est différent:

2011-02-12 08:17:21.851 SF Calculation[16297:207] First = 02/12/2011 
2011-02-12 08:17:21.852 SF Calculation[16297:207] Second = 12/26/2010 

Pourquoi est-il lors de la conversion NSDate à NSString et retour de NSString à NSDate?

Répondre

9

Au lieu de:

[dtFormatter setDateFormat:@"MM/dd/YYYY"]; 

utilisation:

[dtFormatter setDateFormat:@"MM/dd/yyyy"]; 
+1

+1 - lien vers spec - http://unicode.org/reports/tr35/tr35-4.html#Date_Format_Patterns – Anurag

+0

Merci pour l'information. – Satyam