De fondo
Con estándar de UNIX herramientas de línea de comandos puede establecer la variable de entorno TZ=<XXX>
con una zona horaria y cualquier aplicación que se ejecuta dentro de la cáscara donde se realizaba esta va a recoger y utilizar su valor como su zona horaria.
El uso de TZ
Por ejemplo, puede utilizar este comando para obtener la lista de valores válidos para establecer TZ=
que así:
$ sudo systemsetup -listtimezones
Y aquí he enumerado sólo los 10 primeros:
$ sudo systemsetup -listtimezones | head
Time Zones:
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
Africa/Bamako
Africa/Bangui
Africa/Banjul
Africa/Bissau
Para este ejemplo, voy a usar la de Tokio es la zona horaria, por lo que podemos encontrar de esta manera:
$ sudo systemsetup -listtimezones | grep -i tokyo
Asia/Tokyo
CLI Ejemplo
Podemos ver el efecto de la creación de nuestro shell para este como este:
# My default timezone, EDT
$ date
Sat Apr 13 22:44:55 EDT 2019
# Using Tokyo's
$ TZ=Asia/Tokyo date
Sun Apr 14 11:44:59 JST 2019
GUI Ejemplo
En mi limitada de prueba de este mismo enfoque funciona con la interfaz gráfica de las aplicaciones. En este ejemplo he instalado esta aplicación que he encontrado se llama the-clock
.
$ brew cask install the-clock
Ahora podemos invocarlo como esto de la shell:
$ '/Applications/The Clock.app/Contents/MacOS/The Clock'
Se parece a esto cuando se ejecuta en la barra de menú en la parte superior:
Ahora bien, si se invoca con el medio ambiente conjunto de variables:
$ TZ=Asia/Tokyo '/Applications/The Clock.app/Contents/MacOS/The Clock'
Y buscar en la barra de menú:
Podemos ver que la zona horaria fue cambiado cuando le invoca la aplicación de interfaz de usuario.
¿Qué acerca de los valores predeterminados?
En la investigación de cualquiera de los métodos que puede utilizar con el defaults
comando no he encontrado nada convincente que me llevó a creer que se podía hacer esto a través de la defaults
como en tu ejemplo.
Estos recursos me llevó a creer que usted no puede:
Referencias