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值
答案 0 :(得分:1)
也许你的字符串的开头或结尾有一些额外的空格。 使用
比较两个字符串的长度dateString.length;
和
otherDateString.length;
您还可以使用
比较并查看这些字符串是否相等[dateString isEqualToString:otherDateString];
可能会返回false。
答案 1 :(得分:1)
两个可能的问题:
VVVV
不是有效的字段符号。你可能想要Z
。请参阅http://unicode.org/reports/tr35/tr35-6.html#Date_Format_Patterns
确保您的格式化程序设置为英语(非默认)语言环境,否则将无法识别Mon
或Apr
等模式。
答案 2 :(得分:0)
您获得的日期字符串可能不是正确的字符串格式,因此首先您必须检查它。
尝试这种方式:
NSString *dateString = [NSString stringWithFormat:@"%@",yourXMLValue];
希望这会有所帮助。