将字符串转换为NSDate的正确方法?(iphone)

问题描述:

在我的应用程序中,我将日期存储为字符串(“MM/dd/YYYY”格式)。在DB中。后来当我检索字符串时,我必须比较两个日期,我该如何实现?将字符串转换为NSDate的正确方法?(iphone)

如果我使用了“YYYY/MM/dd”格式,我可以直接将它比作字符串。 现在我必须使用“nsdateformatter”和“dateFromString”转换回NSDate对象。但是无论我做什么,我都可以得到一个固定的日期值。

任何想法??

NSDateFormatter* df = [[NSDateFormatter alloc] init]; 
[df setDateFormat:@"MM/dd/yyyy"]; 
NSDate* d = [df dateFromString:@"12/23/2046"]; 
NSLog(@"%@", d); 

结果:

2046-12-23 00:00:00 +0800 
+0

嗯有趣!与“yyyyy”它的工作,当我用“YYYY”它不是。现在你会这样吗? – 2010-01-30 05:26:14

+1

@BK:http://unicode.org/reports/tr35/#Date_Format_Patterns – kennytm 2010-01-30 06:03:55

+0

谢谢!如果不小心,即使是最小的东西都会让你感到意外。 – 2010-01-30 06:26:19