Pregunta

Estoy escribiendo una aplicación que necesita mostrar y calcular todas las fechas, tiempos, intervalos de tiempo, etc. a partir de una zona horaria específica en Europa. Es decir, si, digamos, en París, la aplicación funciona sin problemas ahora, pero si voy a Nueva York, la aplicación debe mostrar y funcionar exactamente como si todavía estuviera en París.

Ingenuamente, lo intenté (en el application: didFinishLaunchingWithOptions: función)

[[NSCalendar currentCalendar] setTimeZone:[NSTimeZone timeZoneWithName:@"Europe/Paris"]];

Pero, por supuesto, eso no funciona, todos mis objetos NSDateFormatter todavía usan la zona horaria actual si no se dicen explícitamente lo contrario.

Entonces, lo que me gustaría saber es:

  • ¿Hay alguna forma de hacer cumplir globalmente una zona horaria en una aplicación? Prefiero no pasar por todo mi código y arreglar cada formateador de fecha y selección de fecha, etc., si hay otra manera.

  • Voluntad [NSTimeZone timeZoneWithName:@"Europe/Paris"] ¿Cambiar correctamente entre CET y CEST?

¡Gracias por delante!

¿Fue útil?

Solución

Puedes usar el método + (void)setDefaultTimeZone:(NSTimeZone *)aTimeZone de la clase NSTimeZone.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top