tzset

TZSET(3)                 Manual del programador de Linux                TZSET(3)



NOMBRE
       tzset, tzname, timezone, daylight - inicializa la información de
       conversión horaria

SINOPSIS
       #include <time.h>

       void tzset (void);

       extern char *tzname[2];
       extern long timezone;
       extern int daylight;

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.  En un
       entorno de tipo SysV se establecerá también el valor de las variables
       timezone (segundos al Oeste de GMT) y daylight (0 si la zona horaria no
       tiene reglas de tiempo sobre ahorro energético, distinto de cero si hay
       algún período durante el que se apliquen horarios de ahorro energético).

       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 el fichero de formato tzfile(5) localtime localizado en el
       directorio de huso horario del sistema (vea más abajo).  (También es
       frecuente que el fichero /etc/localtime usado aquí, sea un enlace
       simbólico al fichero correcto en el directorio de huso horario del
       sistema.)

       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, la información de la zona
       horaria se lee del fichero localtime en el directorio de huso horario del
       sistema, que actualmente suele ser /usr/share/zoneinfo.  Este fichero se
       encuentra 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 huso horario del sistema.

FICHEROS
       El directorio de huso horario del sistema utilizado depende de la versión
       de (g)libc.  Libc4 y libc5 usan /usr/lib/zoneinfo y, desde libc-5.4.6,
       /usr/share/zoneinfo.  Glibc2 usará la variable de entorno TZDIR cuando
       ésta exista.  Su valor por defecto depende de cómo fue instalado, pero
       normalmente es /usr/share/zoneinfo.

       Este directorio de huso horario contiene los ficheros
       localtime      fichero de huso horario local
       posixrules     reglas para TZ's al estilo POSIX

       A menudo /etc/localtime es un enlace simbólico al fichero localtime o al
       fichero de huso horario correcto en el directorio de huso horario del
       sistema.

CONFORME A
       SVID 3, POSIX, BSD 4.3

OBSERVACIONES
       Observe que la variable daylight no indica que se apliquen horarios de
       ahorro energético en el momento. Suele dar el número de algún algoritmo
       (vea la variable tz_dsttime en gettimeofday(2)).  Ha estado obsoleta
       muchos años pero es requerida por SUSv2.

       BSD4.3 tenía una rutina char *timezone(zone,dst) que devolvía el nombre
       de la zona horaria correspondiente a su primer argumento (minutos al
       Oeste de GMT). Si el segundo argumento era 0, se usaba el nombre estándar
       y, en caso contrario, la versión de tiempo de ahorro energético.

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



                                13 noviembre 2001                       TZSET(3)