iPhone SDK NSString到NSDate

scu*_*cud 9 iphone date nsdate nsstring nsdateformatter

我从解析XML文件得到一个字符串,如下所示:星期五,2010年4月9日00:00:45 +0200,相应的模式应该是"EEE,dd MMM yyyy HH:mm:ss ZZ",但我得到了(空值).

这是我的代码:

NSString *dateString = @"Fri, 09 Apr 2010 00:00:45 +0200";

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss ZZ"];

NSDate *date = [dateFormatter dateFromString:dateString];
NSLog(@"date:%@",date); // result date:(null)
Run Code Online (Sandbox Code Playgroud)

编辑:

这对我有用,我不得不切换到en-US语言环境:

NSLocale* usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en-US"];

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

[dateFormatter setLocale:usLocale];
[dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss ZZ"];

NSDate *date = [dateFormatter dateFromString:dateString];
Run Code Online (Sandbox Code Playgroud)

eip*_*xen 9

当我改变这一行时,你的代码对我有用:

[dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss ZZ"];
Run Code Online (Sandbox Code Playgroud)

到这一行:

[dateFormatter setDateFormat:@"EEE',' dd MMM yyyy HH:mm:ss ZZ"];
Run Code Online (Sandbox Code Playgroud)