2011-02-12 105 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