我遇到NSDateFormatter
的{{1}}方法问题。
我有以下日期:dateFromString
,但Tue, 12 Jul 2011 20:18:26 GMT
似乎无法识别它并返回NSDateFormatter
。
这是我试过的:
(null)
我做错了什么?
答案 0 :(得分:4)
在这种情况下,您需要设置dateFormat
以匹配字符串中日期的格式。请尝试以下方法:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"ddd, dd MMM YYYY HH:MM:SS ZZZ"];
NSDate *date = [dateFormatter dateFromString:@"Tue, 12 Jul 2011 20:18:26 GMT"];
[dateFormatter setDateFormat:@"dd/MM/yyyy HH:MM:SS"];
NSString *newFormattedDate = [dateFormatter stringFromDate:date];
NSLog(@"Date: %@ || %@",datem newFormattedDate);
答案 1 :(得分:2)
您的问题是您的日期格式@"dd/MM/yyyy HH:MM:SS"
与日期字符串@"Tue, 12 Jul 2011 20:18:26 GMT"
不符。您需要使用不同的日期格式。
答案 2 :(得分:2)
您要解析的字符串与您在NSDateFormatter
上设置的格式字符串不匹配。您输入的格式为:
dd/MM/yyyy HH:MM:SS
...匹配字符串,如:
"15/07/2011 10:30:01"
如果您希望它与Tue, 12 Jul 2011 20:18:26 GMT
匹配,则需要更改格式。你可能会有更好的运气:
[dateFormatter setDateFormat:@"E, dd MMM yyyy HH:MM:SS z"];
您可能会发现此needlessly complex documentation有用。