Tengo una cadena con el tiempo en GMT y quiero hacerlo de acuerdo a la zona horaria del sistema, pero no su trabajo correctamente –

NSLog(@"Time Str = %@",Time);

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"dd-MM-yyyy hh:mm a"];

[NSTimeZone resetSystemTimeZone];

NSLog(@"system time zone = %@",[NSTimeZone systemTimeZone]);

[dateFormat setTimeZone:[NSTimeZone systemTimeZone]];

NSDate *date = [dateFormat dateFromString:Time];

[dateFormat setTimeZone:[NSTimeZone systemTimeZone]];
NSLog(@"date from string = %@",date);
NSLog(@"string from date = %@",[dateFormat stringFromDate:date]);

De salida en la consola –

////////////////////////////////////////////////////////////////////////////////////////////////

Tiempo Str = 09-12-2011 07:57 AM

de zona horaria del sistema = región de Asia/Calcuta (IST) desplazamiento 19800

fecha a partir de la cadena = 2011-12-09 02:27:00 +0000

cadena a partir de la fecha = 09-12-2011 07:57 AM

////////////////////////////////////////////////////////////////////////////////////////////////

Calcuta es de +5:30 de GMT, por lo que el tiempo en la fecha debe ser de 1:27 pero su muestra 02:27. También cuando me tome una cadena a partir de esta fecha su mostrándome el mismo sting que he utilizado para hacer la fecha, quiero que la cadena actualizados según la zona horaria del sistema.

Gracias

  • Si se debe 02:27 porque 7:57 – 5:30 = 2:27, no 1:27.
InformationsquelleAutor saadnib | 2011-12-09

1 Comentario

  1. 51

    Si la fecha de la cadena está en GMT usted no puede utilizar su sistema de franja Horaria para crear el NSDate de la NSString.

    reemplazar la primera aparición de [dateFormat setTimeZone:[NSTimeZone systemTimeZone]];

    con [dateFormat setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];

    • Si quiero que mi aplicación para que funcione en cualquier lugar en cualquier zona horaria entonces, ¿qué debo hacer?
    • usted necesidad de utilizar el estándar de la zona horaria GMT y convertir a la zona horaria local según se requiera.

Dejar respuesta

Please enter your comment!
Please enter your name here