tzset(3)

NOM
tzset, tzname, timezone, daylight - Initialiser des données pour les conversions de temps

BIBLIOTHÈQUE
Bibliothèque C standard (libc, -lc)

SYNOPSIS
#include <time.h>

void tzset(void);

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

    Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros(7)) :

tzset() :
    _POSIX_C_SOURCE

tzname :
    _POSIX_C_SOURCE

timezone, daylight :
    _XOPEN_SOURCE
        || /* glibc >= 2.19 : */ _DEFAULT_SOURCE
        || /* glibc <= 2.19 : */ _SVID_SOURCE

DESCRIPTION
La fonction tzset() initialise la variable tzname en utilisant la variable d'environnement TZ. Cette fonction est appelée automatiquement par les autres fonctions de conversion de temps dépendant du fuseau horaire. Dans un environnement de type System V, elle définira également les variables timezone (secondes à l'ouest de UTC) et daylight (à 0 si le fuseau n'a pas d'heure d'été, ou à une valeur non nulle s'il y a des périodes durant l'année où le changement horaire s'applique).

Si la variable TZ n'apparaît pas dans l'environnement, c'est le fuseau horaire du système qui sera utilisé. Le fuseau horaire du système est configuré en copiant ou en liant un fichier au format tzfile(5) vers /etc/localtime. Une base de données des fichiers de fuseaux horaires se trouve dans le répertoire des fuseaux horaires du système (voir plus bas la section FICHIERS).

Si la variable TZ est présente dans l'environnement, alors que sa valeur est vide ou ne peut pas être interprétée en utilisant les formats indiqués plus bas, le temps universel coordonné (UTC) est utilisé.

La valeur de TZ peut prendre deux formats différents. Le premier est une chaîne de caractères qui représente directement le fuseau horaire à utiliser :

    std décalage[dst[décalage][,début[/temps],fin[/temps]]]

Ce format ne comporte aucune espace. La chaîne std est une abréviation du fuseau horaire et doit comporter au moins trois caractères alphabétiques. Lorsqu'elle est entourée des symboles inférieur (<) et supérieur (>), le jeu de caractères autorisés est étendu pour inclure les caractères plus (+) et moins (-), ainsi que les chiffres. La chaîne décalage immédiatement après std indique la valeur à ajouter à l'heure locale pour obtenir l'heure UTC. La valeur de décalage est positive si l'emplacement local est à l'ouest du méridien de Greenwich, et négative s'il est à l'est. L'heure doit être entre 0 et 24, les minutes et les secondes entre 00 et 59 :

    [+|-]hh[:mm[:ss]]

Les chaînes dst et décalage indiquent le nom et le décalage du fuseau horaire correspondant à l'heure d'été. Si le décalage est omis, une valeur par défaut est utilisée, correspondant à un décalage de plus une heure par rapport au temps standard.

Le champ début indique la date de début de l'heure d'été, et fin indique la date de retour à l'heure d'hiver. Ces deux champs utilisent l'un des formats suivants :

Jn  Indique le jour julien, avec n compris entre 1 et 365. Les jours intercalaires ne sont pas comptés. Dans ce format, le 29 février ne peut pas être représenté. Le 28 février est le jour 59, et le 1er mars est toujours le jour 60.

n   Indique le jour julien à partir de zéro, avec n compris entre 0 et 365. Le 29 février est pris en compte pour les années bissextiles.

Mm.s.j
    Indique le jour j (0 <= j <= 6) de la semaine s (1 <= s <= 5) du mois m (1 <= m <= 12). La semaine 1 est la première semaine du mois dans laquelle le jour j apparaît, et la semaine 5 la dernière où le jour j apparaît. Le jour 0 est dimanche.

Le champ temps indique l'heure du changement, sous forme d'heure locale courante. Par défaut, la valeur est 02h 00m 00s.

L'exemple suivant correspond à la Nouvelle-Zélande. Son fuseau horaire (NZST) est 12 heures en avance sur le temps universel (UTC). L'heure d'été (NZDT) est 13 heures en avance sur UTC et débute le premier dimanche d'octobre pour finir le troisième dimanche de mars. Le changement d'heure s'effectue à 02h 00m 00s :

    TZ="NZST-12:00:00NZDT-13:00:00,M10.1.0,M3.3.0"

Le second format indique que les informations de fuseau horaire doivent être lues depuis un fichier :

    :[fichier_tz]

Si fichier_tz n'est pas indiqué, ou si son nom ne peut pas être interprété, c'est le temps UTC qui sera utilisé. Si fichier_tz est indiqué, il doit correspondre à un autre fichier au format tzfile(5) où on lira les informations de fuseau horaire. Si fichier_tz ne commence pas par un « / », le chemin d'accès sera relatif au répertoire système des fuseaux horaires. Si le caractère deux-points (:) est omis, chacun des formats TZ ci-dessus sera testé.

Voici un exemple, encore une fois pour la Nouvelle-Zélande :

    TZ=":Pacific/Auckland"

ENVIRONNEMENT

TZ  Si cette variable est définie, sa valeur prend le pas sur la valeur de fuseau horaire configurée sur le système.

TZDIR
    Si cette variable est définie, sa valeur prend le pas sur le chemin du répertoire de base de données des fuseaux horaires configuré sur le système.

FICHIERS

/etc/localtime
    Fichier de fuseau horaire du système

/usr/share/zoneinfo/
    Répertoire de la base de données de fuseaux horaires du système.

/usr/share/zoneinfo/posixrules
    Lorsqu'une chaîne TZ inclut un fuseau horaire dst sans rien derrière, ce fichier est utilisé pour les règles de début/fin. Il est au format tzfile(5). Par défaut, le Makefile zoneinfo le lie physiquement au fichier tz America/New_York.

Vous trouverez ci-dessus les localisations standards actuelles des fichiers, mais ces dernières sont configurables lors de la compilation de la glibc.

ATTRIBUTS
Pour une explication des termes utilisés dans cette section, consulter attributes(7).
Interface | Attribut | Valeur
tzset() | Sécurité des threads | MT-Safe env locale

STANDARDS
POSIX.1-2008.

HISTORIQUE
POSIX.1-2001, SVr4, 4.3BSD.

4.3BSD avait une routine char *timezone(zone, dst) qui renvoyait le nom du fuseau horaire correspondant à son premier argument (minutes à l'ouest d'UTC). Si le second argument était 0, le nom standard était utilisé, sinon c'était le nom avec l'heure d'été.

VOIR AUSSI
date(1), gettimeofday(2), time(2), ctime(3), getenv(3), tzfile(5)

TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Lucien Gentis <lucien.gentis@waika9.com>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 (https://www.gnu.org/licenses/gpl-3.0.html) concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.