20 de noviembre de 2008

Cómo modificar la zona horaria en Solaris

Para realizar este proceso es necesario editar el archivo /etc/default/init

Buscaremos una línea que inicia con TZ, que, en realidad es la asignación de una variable de ambiente que podría lucír así:

TZ=US/Eastern

Si quisieramos cambiar esta zona (Esta de Estados Unidos, Florida, NY, etc), habría que modificar por algo como:

TZ="America/Mexico_City"

Y reiniciamos el servidor.

Ahora, suponiendo que sólo queramos modificar la zona horaria para nuestra sesión, entónces se necesario sobreescribir el valor de esta variable de ambiente. Veamos el siguiente ejemplo:

> echo $TZ
America/Mexico_City
> date
Fri Dec 5 11:09:38 CST 2008
> setenv TZ "US/Eastern"
> date
Fri Dec 5 12:09:57 EST 2008
> echo $TZ
US/Eastern

En realidad lo único que sucedió fue que ocurrió un ajuste en el tiempo, pero la hora del sistema en sí nunca se modificó. Es decir, si en este momento son las 11:09 CST, entónces en Florida son las 12:09 EST.

Lo mismo sucedería si cambiáramos la zona horaria y quisiéramos tener nuestro reloj puesto a GMT o UTC, veamos:

> echo $TZ
America/Mexico_City
> date
Fri Dec 5 11:15:57 CST 2008
> export TZ="UTC"
> date
Fri Dec 5 17:16:18 UTC 2008

Ahora, lo mismo que en el primer ejemplo, si en la Cd de México son las 11:15 CST, la hora UTC sería las 17:16. Recuerden que la zona horaria del centro de México es GMT-6 (UTC-6).

En sí, es muy importante recordar que la hora como tal no cambia, sólo se ajusta a la zona horaria. Para cambiar la hora y fecha (mas no la zona horaria), utilícese date.

Saludos!

2 comentarios:

Unknown dijo...

Afredo GRACIAS POR COMPARTIR. que está pasando si en solaris tengo las 25/05/2010 08:16:55 p.m. y en oracle al ejecutar un select current_date from dual me dice que son las 25/05/2010 07:16:56 a.m.
Tengo en solaris el parametro TZ=-7.
prosasb@gmail.com

Unknown dijo...

Gracias, no estaba trabajando en Solaris pero si en una versión mini de UNIX, MINIX 3 y use la siguiente línea de tu post : TZ="America/Mexico_City". Saludos.