Вы пробовали грубой метод силы:
Это проверялось, но должно дать вам некоторое представление о том, что делать.
// Set up some helper information
NSArray *monthArray = [NSArray arrayWithObjects:@"Jan", @"Feb", @"Mar",
@"Apr", @"May", @"Jun",
@"Jul", @"Aug", @"Sep",
@"Oct", @"Nov", @"Dec", nil];
NSArray *ordinalArray = [NSArray arrayWithObjects:@"01", @"02", @"03",
@"04", @"05", @"06",
@"07", @"08", @"09",
@"10", @"11", @"12", nil];
NSDictionary *monthOrdinalDictionary = [NSDictionary dictionaryWithObjects:ordinalArray
forKeys:monthArray];
// This is the date string to convert.
dateString = @"Fri Jul 09 17:57:44 +0000 2010";
// Split it into it's components
NSArray *dateComponentArray = [dateString componentsSeparatedByString:@" "];
// Create a new date string from the components in a format that NSDate understands
newDateString = [NSString stringWithFormat:@"%@-%@-%@ %@ %@", [dateComponentArray objectAtIndex:6],
[monthOrdinalDictionary objectForKey:[dateComponentArray objectAtIndex:2]],
[dateComponentArray objectAtIndex:3],
[dateComponentArray objectAtIndex:4],
[dateComponentArray objectAtIndex:5]];
// Create the date from this string
NSDate *dateTime = [NSDate dateWithString:newDateString];
Да, это уродливо, но вы можете реорганизовать большую часть этого в вспомогательную функцию. Я не тестировал его, но вы должны иметь представление о том, что делать. Возьмите строку даты, преобразуйте ее в строку, которую NSDate может использовать для создания даты, используйте эту строку для создания NSDate.
По крайней мере, у вас будет код для работы, и вы можете вернуться и изменить его, если это узкое место в производительности.
Возможный дубликат [iPhone SDK NSString для NSDate] (http://stackoverflow.com/questions/2618807/iphone-sdk-nsstring-to-nsdate) и [Разбор даты RFC 822 с помощью NSDateFormatter] (http://stackoverflow.com/questions/1850824/parsing-a-rfc-822-date-with-nsdateformatter) –
Ни один из которых не позволяет решить мою проблему. –
Mick Walker: Пожалуйста, отредактируйте свой вопрос, чтобы показать нам, что вы пробовали, и как это не удалось. –