NSDateFormatter的问题

时间:2011-06-27 19:10:44

标签: objective-c nsdate

我无法理解为什么这不起作用。

   NSDateFormatter * dateFormat = [[NSDateFormatter alloc] init];
   [dateFormat setDateFormat:@"dd MMMM YYYY"];
   NSDate * complDate = [dateFormat dateFromString:@"27 June 2011"];

complDate返回2010-12-25 21:00:00 +0000

2 个答案:

答案 0 :(得分:3)

您需要使用小写“y”作为格式字符串:

[dateFormat setDateFormat:@"dd MMMM yyyy"];

大写“Y”表示“年度周”。见Data Formatting Guide;它包含NSDateFormatter使用的Unicode格式说明符的链接。

答案 1 :(得分:0)

setDateFromat:函数用于格式化stringFromDate:函数的sting对象。 dateFromString:会返回NSDate个对象。

文档示例:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd 'at' HH:mm"];

NSDate *date = [NSDate dateWithTimeIntervalSinceReferenceDate:162000];

NSString *formattedDateString = [dateFormatter stringFromDate:date];
NSLog(@"formattedDateString: %@", formattedDateString);
// For US English, the output may be:
// formattedDateString: 2001-01-02 at 13:00