Je suis à la recherche d'une solution entièrement fonctionnelle, qui fonctionne avec :
- toute locale ou fuseau horaire iOS
- tous/la plupart des serveurs HTTP
- Xcode 4.0.2 (voir pourquoi)
Code cassé actuel :
NSString lastModifiedString = @"Mon, 06 Jun 2011 12:47:05 GMT";
NSDateFormatter *df = [[NSDateFormatter alloc] init];
//df.dateFormat = @"EEE',' dd MMM yyyy HH':'mm':'ss 'GMT'";
df.dateFormat = @"EEE, dd MMM yyyy HH:mm:ss z";
df.locale = [[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"] autorelease];
df.timeZone = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
NSDate date = [df dateFromString:lastModifiedString];
J'ai supposé que Last-Modified
est censé utiliser le même format que les autres champs de date dans la spécification HTTP, c'est-à-dire utiliser RFC-1123 / RFC-822.
Ressources :