Al utilizar tiempo de 24 horas, la hora especificador es necesario que haya una H mayúscula como esto:
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss Z"];
Marque aquí para los especificadores correctas: http://unicode.org/reports/tr35/tr35-6.html#Date_Format_Patterns
Sin embargo, es necesario establecer la configuración regional para el formateador fecha:
// Set the locale as needed in the formatter (this example uses Japanese)
[dateFormat setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"ja_JP"]];
código de trabajo completo:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss zzz"];
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"ja_JP"]];
NSDate *capturedStartDate = [dateFormatter dateFromString: @"2012-09-16 23:59:59 JST"];
NSLog(@"Captured Date %@", [capturedStartDate description]);
salidas (GMT):
Captured Date 2012-09-16 14:59:59 +0000
bueno @danielbeard, como u dijo que mostrará la hora GMT, el cual mostrará diferencia de tiempo de 9 horas desde la fecha exacta. Cómo obtener la fecha exacta de la cadena ... ?? .. – NiKKi
Las fechas mismas no tienen zonas horarias, pero puede obtener una representación de cadena en un huso horario con 'stringFromDate' con NSDateFormatter configurado anteriormente. – danielbeard
Consulte aquí para obtener más detalles http://stackoverflow.com/questions/1862905/nsdate-convert-date-to-gmt – danielbeard