#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
La fonction tzset() initialise ces variables à des valeurs non spécifiées si ce fuseau horaire est une zone horaire géographique comme « America/New_York » (voir ci-après).
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, chacun d’entre eux pouvant être précédé d’un caractère deux-points « : » qui sera ignoré. 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 :
Les champs temps indiquent l'heure du changement, sous forme d'heure locale courante. Ils utilisent le même format que décalage, à l’exception que l’heure peut appartenir à l’intervalle [-167, 167] pour représenter des heures avant et après le jour nommé. Par défaut, la valeur est 02h 00m 00s.
L'exemple suivant correspond à la Nouvelle-Zélande. Son fuseau horaire (NZST) est en avance de 12 heures sur le temps universel (UTC). L'heure d'été (NZDT) est en avance de 13 heures sur UTC et débute le dernier dimanche de septembre à l’heure d’hiver 02h 00m 00s pour se terminer le premier dimanche d’avril à 03h 00m 00s.
TZ="NZST-12:00:00NZDT-13:00:00,M9.5.0,M4.1.0/3"
Le second format --- ou « format géographique » --- indique que les informations de fuseau horaire doivent être lues depuis un fichier :
fichier_tz
fichier_tz spécifie un fichier au format tzfile(5) où seront lues 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 fichier spécifié ne peut pas être lu ou interprété, c’est le temps universel coordonné (UTC) qui sera utilisé ; cependant, les applications ne devraient pas dépendre de valeurs aléatoires de fichier_tz représentant UTC, car les formats de TZ sont susceptibles d’être étendus à l’avenir.
Voici un exemple, encore une fois pour la Nouvelle-Zélande :
Vous trouverez ci-dessus les localisations standards actuelles des fichiers, mais ces dernières sont configurables lors de la compilation de la glibc.
| Interface | Attribut | Valeur |
| tzset() | Sécurité des threads | MT-Safe env locale |
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é.
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 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 à