获取dateformatter的nil值

时间:2013-04-29 07:25:09

标签: iphone ios

 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];

 dateFormatter.dateFormat       = @"EEE, dd MM yyyy HH:mm:ss VVVV";

 NSDateFormatter *df1 = [[NSDateFormatter alloc] init];

 [df1 setDateFormat:@"yyyy-MM-dd HH:mm:ss ZZZ"];

 NSString *dateString           = @"Mon, 29 Apr 2013 01:00:49 +0000";

 NSDate *date1= [dateFormatter dateFromString:dateString];

 NSString *localDateString      = [df1 stringFromDate:date1];

 NSLog(@"localDateString=%@", localDateString); 

当我使用常量dateString值时,它给出了正确的输出..其中我从xml配对值给出输入dateString返回nil值

3 个答案:

答案 0 :(得分:1)

也许你的字符串的开头或结尾有一些额外的空格。 使用

比较两个字符串的长度
dateString.length;

otherDateString.length;

您还可以使用

比较并查看这些字符串是否相等
[dateString isEqualToString:otherDateString];

可能会返回false。

答案 1 :(得分:1)

两个可能的问题:

  1. VVVV不是有效的字段符号。你可能想要Z。请参阅http://unicode.org/reports/tr35/tr35-6.html#Date_Format_Patterns

  2. 确保您的格式化程序设置为英语(非默认)语言环境,否则将无法识别MonApr等模式。

答案 2 :(得分:0)

您获得的日期字符串可能不是正确的字符串格式,因此首先您必须检查它。

尝试这种方式:

NSString *dateString  = [NSString stringWithFormat:@"%@",yourXMLValue];

希望这会有所帮助。