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

时间:2013-06-14 22:15:13

标签: ios objective-c date nsdate nsdateformatter

使用NSDateFormatter解析日期。下面的日期是2013年5月2日。我得到的结果不同(如下所示)取决于我是否使用" DD"在dateFormat字符串和" 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

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

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

由于

1 个答案:

答案 0 :(得分: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