Establecer una zona horaria específica de forma global para que la aplicación se utilice

Estoy escribiendo una aplicación que necesita mostrar y calcular todas las dates, horas, intervalos de time, etc. de una zona horaria específica de Europa. Es decir, si estoy, por ejemplo, en París, la aplicación funciona sin problemas ahora, pero si voy a Nueva York, la aplicación debería mostrarse y funcionar exactamente como si todavía estuviera en París.

Ingenuamente, intenté (en la application: didFinishLaunchingWithOptions: function)

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

pero, por supuesto, eso no funciona, todos mis objects NSDateFormatter todavía usan la zona horaria actual si no se les dice explícitamente lo contrario.

Entonces, lo que me gustaría saber es:

  • ¿Hay alguna manera de hacer cumplir globalmente una zona horaria en una aplicación? Prefiero no revisar todo mi código y corregir cada formateador de date y selector de date, y así sucesivamente, si hay otra manera.

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

Gracias adelante!

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