TZSET(3)

NOMBRE
tzset - inicializa la información de conversión horaria

SINOPSIS
#include <time.h>

void tzset (void);

extern char *tzname[2]

DESCRIPCIÓN
La función tzset() inicializa la variable tzname a partir de la variable de entorno TZ. Esta función es invocada automáticamente por otras funciones conversoras de tiempo que dependen de la zona horaria.

Si la variable TZ no está presente en el entorno, la variable tzname se inicializa con la mejor aproximación de la hora local, tal como se especifica en el fichero /usr/lib/zoneinfo/localtime, cuyo formato se detalla en tzfile(5).

Si la variable TZ está presente en el entorno, pero su valor es NULL o no puede ser interpretado usando ninguno de los formatos especificados abajo, se usa el Tiempo Coordinado Universal (UTC).

La variable TZ puede tener tres formatos. El primero se usa cuando no hay horario de ahorro energético en la zona horaria local:

    nzh desfase

La cadena nzh especifica el nombre de la zona horaria, y debe componerse de tres o más caracteres alfabéticos. La cadena desfase sigue inmediatamente después de nzh y especifica el tiempo a añadir a la hora local para obtener el Tiempo Coordinado Universal (UTC). El valor de desfase es positivo si la hora local está al oeste del meridiano de Greenwich, y negativo si está al este. La hora debe estar entre 0 y 24, y los minutos y segundos entre 0 y 59.

El segundo formato se usa cuando hay horario de ahorro energético:

    nzh desfase hae [desfase],inicio[/hora],fin[/hora]

No hay espacios en la especificación. El nzh y el desfase iniciales especifican la zona horaria estándar tal como se describe arriba. Las cadenas hae y desfase especifican el nombre y desfase para el correspondiente horario de ahorro energético de la zona. Si se omite el desfase, se asume el valor de una hora por delante de la hora estándar.

El campo inicio especifica cuándo entra en vigor el horario de ahorro energético, y el campo fin cuándo se vuelve al horario estándar. Estos campos pueden tener los siguientes formatos:

Jn  Especifica el día juliano, siendo n entre 1 y 365. El 29 de febrero nunca se cuenta, ni siquiera en los años bisiestos.

n   Especifica el día juliano, siendo n entre 1 y 365. El 29 de febrero se cuenta en los años bisiestos.

Mm.s.d
    Especifica el día d (0 <= d <= 6) de la semana s (1 <= s <= 5) del mes m (1 <= m <= 12). La semana 1 es la primera semana en la que ocurre el día d, y la semana 5 es la última en el que ocurre el día d. El día 0 es un domingo.

Los campos hora especifican cuándo (en el horario local actualmente en vigor) ocurre el cambio al otro horario. Si se omite, el valor por defecto es 02:00:00.

El tercer formato especifica que la información de la zona horaria debe leerse de un fichero:

    :[fichero]

Si se omite la especificación de fichero fichero, la información de la zona horaria se lee de /usr/lib/zoneinfo/localtime, que está en formato tzfile(5). Si se proporciona fichero, especifica otro fichero de formato tzfile(5) del que leer la información de la zona horaria. Si fichero no comienza con `/', la especificación de fichero es relativa al directorio de conversión horaria del sistema /usr/lib/zoneinfo.

FICHEROS
/usr/lib/zoneinfo             directorio de zonas horarias
/usr/lib/zoneinfo/localtime   fichero de horario local
/usr/lib/zoneinfo/posixrules  reglas para TZ estilo POSIX

CONFORME A
SVID 3, POSIX, BSD 4.3

VÉASE TAMBIÉN
date(1), gettimeofday(2), time(2), ctime(3), getenv(3), tzfile(5)