Cómo convertir correctamente el encabezado Last-Modified de una respuesta HTTP a un NSDate en iOS
Estoy buscando una solución que funcione completamente, una que funcione con:
cualquier configuración regional o zona horaria de iOS cualquiera / la mayoría de los servidores HTTPXcode 4.0.2(ver por quéCódigo roto actual:
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];
Lo asumoLast-Modified
e supone que @ usa el mismo formato que otros campos de fecha en la especificación HTTP, lo que significa usar RFC-1123 / RFC-822
Recursos:
http: //www.w3.org/Protocols/rfc2616/rfc2616-sec14.htm HTTP 1.1http: //developer.apple.com/library/ios/#qa/qa1480/_index.htm