NSDateFormatter setDateFormat:"DD"和"dd"之间有什么区别?

shi*_*him 3 date objective-c nsdate nsdateformatter ios

使用NSDateFormatter解析日期.下面的日期是2013年5月2日.我得到不同的结果(如下所示)取决于我是否在dateFormat字符串中使用"DD"和"dd"

NSString * dateStr = @"2013-05-02";
NSDateFormatter * dateFormat =  [NSDateFormatter new];
[dateFormat setDateFormat:@"yyyy-MM-DD"];
NSDate * date = [dateFormat dateFromString:dateStr];
NSLog(@"%@",[dateFormat stringFromDate:date]);
//logs 2013-01-02   ** incorrect
[dateFormat setDateFormat:@"yyyy-MM-dd"];
//logs 2013-05-02   ** correct
Run Code Online (Sandbox Code Playgroud)

什么是"DD"在做什么?它有什么用吗?

我一直在网上试图找到这些日期格式字符串的权威指南,我还没有找到.如果有人知道,请告诉我.

谢谢

lna*_*ger 5

dd是一个月中的某天,DD是一年中的某一天.

请参阅http://developer.apple.com/library/ios/ipad/#documentation/cocoa/Conceptual/DataFormatting/Articles/dfDateFormatting10_4.html

该文档根据操作系统的版本链接到不同的标准.iOS 6的版本是tr35-25:http://www.unicode.org/reports/tr35/tr35-25.html#Date_Format_Patterns