9

我从解析 XML 文件中得到一个字符串,如下所示:Fri, 09 Apr 2010 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)

编辑:

现在这对我有用,我不得不切换到 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];
4

1 回答 1

9

当我更改此行时,您的代码对我有用:

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

到这一行:

[dateFormatter setDateFormat:@"EEE',' dd MMM yyyy HH:mm:ss ZZ"];
于 2010-04-11T21:53:30.323 回答