为什么NSDateFormatter返回nil?

时间:2010-02-12 18:07:41

标签: iphone cocoa cocoa-touch

为什么在执行这段代码后,iPhone模拟器3.1.2上有lDateFormatted nil

NSString *lDateString = @"Wed, 17 Feb 2010 16:02:01";
NSDateFormatter* dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"EEE, dd MMM yyyy hh:mm:ss"];
NSDate *lDateFormatted = [dateFormatter dateFromString: lDateString ];

任何想法都赞赏, 感谢

2 个答案:

答案 0 :(得分:1)

您可能希望使用HH几小时,即0-23 /军事风格 此外,您可能需要在逗号周围添加单个刻度,例如','

参考:the UTS docdate formatting guide

答案 1 :(得分:0)

DateFormatter格式是正确的,但您可能设置了错误的区域设置。试试这个(我的一个项目的工作示例代码):

  

NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
  NSLocale * enUS = [[NSLocale alloc] initWithLocaleIdentifier:@“en_US”];
  [formatter setLocale:enUS];
  [enus release];
  [formatter setDateFormat:@“EEE,dd MMM yyyy HH:mm:ss”];
  ...
  [格式化程序发布]