2011-02-12 102 views
0

我使用下面的代碼來獲取NSDate,將其轉換爲NSString,然後返回NSDate。iPhone - 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); 

但我得到的輸出是不同的:

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 

爲什麼轉換的NSDate到的NSString和回程從的NSString的NSDate的時候有什麼不同?

回答

9

相反的:

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

使用:

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

+1 - 鏈接規範 - http://unicode.org/reports/tr35/tr35-4.html#Date_Format_Patterns – Anurag 2011-02-12 03:14:32