Scroll to navigation

ZIC(8) Manuel de l'administrateur Linux ZIC(8)

NOM

zic - Compilation des informations de fuseau horaire

SYNOPSIS

zic [ option ... ] [ fichier ... ]

DESCRIPTION

Zic lit le texte dans les fichiers indiqués sur la ligne de commande et crée les fichiers d'information pour les conversions horaires indiquées dans ces fichiers. Si un nom de fichier est “-”, l’entrée standard est lue

OPTIONS

--version
Afficher le numéro de version et quitter.
--help
Afficher un bref message d'aide et terminer.
-d répertoire
Créer les fichiers d'informations pour les conversions horaires dans le répertoire indiqué plutôt que dans le répertoire standard indiqué plus bas.
-l fuseau_horaire
Utiliser le fuseau horaire indiqué comme heure locale. zic agira comme si l'entrée contenait une ligne de lien de la forme :

Link fuseau_horaire heure_locale

-p fuseau_horaire
Utiliser les règles de fuseau_horaire lors de la gestion des variables d'environnement de fuseau horaire au format POSIX. zic agira comme si l'entrée contenait une ligne de lien de la forme :

Link fuseau_horaire règles_posix

-L fichier_secondes_rattrapage
Lire les informations concernant les secondes de rattrapage périodique à partir du fichier indiqué. Si cette option n'est pas indiquée, aucune seconde de rattrapage ne sera prise en compte dans les fichiers de sortie.
-v
Être prolixe et dénoncer les situations suivantes :

L’entrée indique un lien pour un lien.

Une année indiquée dans le fichier de données est en dehors de l'intervalle d’années représentable par des valeurs de time(2).

Un temps de 24:00 ou plus apparaît dans l’entrée. Les versions avant 1998 de zic interdisaient 24:00 et celles avant 2007 un temps de plus de 24:00.

Une règle conduit avant le début du mois ou après sa fin. Les versions avant 2004 de zic interdisaient cela.

Le fichier de sortie ne contient pas toutes les informations pour le futur à long terme d’un fuseau horaire, car le futur ne peut être synthétisé sous forme de chaîne TZ POSIX étendue. Par exemple, en 2013 ce problème s’est produit pour les règles de jour d’été pour la prévision du futur, car ces règles sont basées sur le calendrier iranien qui ne peut être représenté.

La sortie contient des données qui ne peuvent être gérées correctement par le code du client, conçu pour les anciens formats de sortie de zic. Ces problèmes de compatibilité affectent seulement les estampilles temporelles d’avant 1970 ou d’après le début de 2038.

Une abréviation de fuseau horaire est de moins de trois caractères. POSIX en requiert au moins trois.

Un nom de fichier contient un octet qui n’est pas une lettre ASCII. “-”, “/”, ou “_”; ou il contient un composant de nom de plus de 14 octets ou commençant par “-”.

-s
Limiter les valeurs de temps stockées dans les fichiers de sortie aux valeurs qui sont identiques en stockage signé et non signé. Cette option permet de générer des fichiers compatibles SVVS.

Les fichiers d’entrée doivent être des fichiers texte, c'est-à-dire, ils doivent être une série de zéro ou plus de lignes, chacune se terminant par un octet de nouvelle ligne, contenant au plus 511 octets et sans octet NULL. L’encodage du texte d’entrée est classiquement en UTF-8 ou ASCII. Il doit avoir une représentation monooctet pour PPCS (POSIX Portable Character Set ⟨http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap06.html⟩ et les caractères sur plusieurs octets doivent consister entièrement d’octets non PPCS. Ces caractères non PPCS apparaissent classiquement dans les commentaires : bien que tous les noms de fichier et toutes les abréviations de fuseau horaire puissent contenir n’importe quel caractère, d’autres logiciels fonctionneront mieux s’ils sont limités à la syntaxe restreinte décrite dans l’option -v.

Les lignes d'entrées sont composées de champs, séparés les uns des autres par un ou plusieurs caractères blancs. Les caractères blancs sont : espace, saut de page, retour chariot, nouvelle ligne, tabulation et tabulation verticale. Les espaces en début et fin de ligne sont ignorées. Un caractère dièse « # » non protégé en entrée introduit un commentaire qui s'étend jusqu'à la fin de la ligne où il apparaît. Les caractères blancs et les dièses peuvent être inclus entre guillemets « " » lorsqu'ils doivent faire partie d'un champ. Toute ligne vide (après suppression des commentaires) est ignorée. Les lignes non vides peuvent être de trois types : les lignes de règle, de zone et de lien.

Les noms doivent être en anglais et sont indifférents à la casse. Ils apparaissent dans plusieurs contextes et incluent les noms de mois, de fin de semaine et des mots-clés tels que maximum, only, Rolling et Zone. Un nom peut être abrégé par son commencement, mais toute abréviation ne doit pas être ambiguë pour le contexte.

Une ligne de règle est de la forme :


Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S

Par exemple :

Rule	US	1967	1973	-	Apr	lastSun	2:00w	1:00	D

Les champs composant une ligne de règle sont :
NAME (NOM)
Nom de l’ensemble de règles contenant cette ligne. Le nom doit débuter par un caractère qui n’est ni un chiffre ASCII ni “-” ni “+”. Pour permettre des extensions futures, un nom non protégé ne doit pas contenir des caractères de l’ensemble “!$%&'()*,/:;<=>?@[\]^`{|}~”.
FROM
Première année pour laquelle la règle s'applique. Tout nombre entier signé correspondant à une année peut être utilisé. On suppose qu'il s'agit du calendrier grégorien proleptique, l’année 0 précédant l’année 1. Le mot minimum (ou une abréviation) correspond à un passé indéfini. Le mot maximum (ou une abréviation) correspond à un futur indéfini. Les règles peuvent décrire des dates qui ne sont pas représentables par des valeurs de time(2), celles-ci étant ignorées. Cela permet aux règles d'être portables quels que soient les types de date employés par la machine hôte.
TO
Dernière année pour laquelle la règle s'applique. En plus des mots minimum et maximum (comme précédemment), le mot only (ou une abréviation) permet de réutiliser la valeur du champ FROM.
TYPE
doit être “-” et est présent pour la compatibilité avec les anciennes versions de zic dans lesquelles il peut contenir des types d’année.
IN
Mois auquel la règle prend effet. Les noms de mois peuvent être abrégés.
ON
Jour auquel la règle prend effet. Les formes acceptées comprennent :

5 Le 5 du mois lastSun Le dernier dimanche du mois lastMon Le dernier lundi du mois Sun>=8 Le premier dimanche après ou le 8 Sun<=25 Le dernier dimanche avant ou le 25

Un nom de jour (par exemple, Sunday) ou un nom précédé par “last” (par exemple, lastSunday) peut être être abrégé ou libellé en entier. Il ne doit pas avoir d'espace au sein du champ ON.

AT
Indique l'heure à laquelle la règle prend effet. Diverses formes sont acceptées :

2 temps en heures 2:00 temps en heures et minutes 01:28:14 temps en heures, minutes et secondes 15:00 temps au format 24 h (pour les heures après midi) 260:00 260 heures après 00:00 -2:30 2,5 heures avant 00:00 - équivalent à 0

où l’heure vaut 0 à minuit au début de la journée et 24 est minuit à la fin de la journée. N'importe quelle forme ci-dessus peut être suivie par la lettre w si l'heure est locale (c'est-à-dire celle d’une horloge) “wall clock” , s s'il s'agit de l'heure locale “standard” , u (ou g ou z) s'il s'agit de l'heure universelle. Sans indicateur, on suppose que c'est l'heure locale. Le but est que la ligne de règle décrive l’instant quand une horloge ou un calendrier définis pour le type de temps précisé dans le champ AT affiche la date et l’heure du jour.

SAVE
Montant du temps à ajouter au temps local standard quand la règle est appliquée. Ce champ a le même format que le champ AT (bien que, naturellement, les suffixes w et s ne sont pas utilisés). Les décalages négatifs sont autorisés. En Irlande, par exemple, l’heure d’été est respectée en hiver et a un décalage négatif par rapport à l’heure irlandaise standard. Le décalage est simplement ajouté au temps standard. Par exemple, zic ne fait pas la distinction entre un temps standard de 10:30 plus un SAVE de 0:30 d’un temps standard de 10:00 plus un SAVE de 1:00.
LETTER/S
Affectation de la “variable part” (par exemple, “S” ou “D” dans “EST” ou “EDT”) des abréviations de fuseau horaire à utiliser quand cette règle est appliquée. Si ce champ est “-”, la part variable est nulle

Une ligne de zone est de la forme :

Zone	NAME	UTOFF	RULES	FORMAT	[UNTIL]

Par exemple :

Zone	Asia/Amman	2:00	Jordan	EE%sT	2017 Oct 27 01:00

Les champs constituant une ligne de zone sont les suivants :
NAME (NOM)
Nom du fuseau horaire. Il s'agit du nom utilisé pour la création du fichier de données de conversions horaires pour cette zone. Il ne doit pas contenir un composant de nom de fichier “."” ou “..”; Un composant de nom de fichier est une sous-chaîne maximale qui ne contient pas “/”.
UTOFF
La quantité de temps à ajouter au temps universel pour obtenir l'heure standard dans la zone. Ce champ a le même format que les champs AT et SAVE des lignes de règle. Le champ peut débuter avec un signe moins « - » si la quantité doit être soustraite de l'UTC.
RULES
Noms des règles qui s'appliquent dans cette zone, ou bien un champ du même format qu’une colonne SAVE de la ligne de règle, donnant la quantité horaire à ajouter au temps local standard de la zone et si le temps résultant est standard ou à l’heure d’été. Si ce champ est -, l'heure standard s'applique toujours dans cette zone.
FORMAT
Format pour les abréviations de fuseau horaire. La paire de caractères %s est utilisée pour montrer où la “variable part” de l’abréviation de fuseau horaire est attribuée. Alternativement, un format peut utiliser la paire de caractères %z pour indiquer le décalage de temps universel sous la forme ±hh, ±hhmm ou ±hhmmss, en utilisant la forme la plus courte ne perdant aucune information, où hh, mm et ss sont les heures, minutes et secondes est (+) ou ouest (−) du temps universel. Alternativement, une barre oblique (/) sépare les abréviations de temps standard et d’heure d’été. Pour se conformer à POSIX, une abréviation de fuseau horaire doit contenir uniquement des caractères ASCII alphanumériques, “+” et “-”.
UNTIL
Le moment où changent le décalage par rapport à l'UTC ou les règles pour le lieu. Ce moment est indiqué sous la forme d'une année, un mois, un jour et une heure. Si elles sont spécifiées, les informations pour le fuseau horaire seront créées à partir de la règle ou du décalage UTC jusqu'au moment indiqué. Les valeurs doivent avoir le même format que pour les colonnes IN, ON et AT d'une règle. Les colonnes qui suivent peuvent être omises, la valeur par défaut étant le plus tôt possible pour les colonnes manquantes.
La ligne suivante doit être une ligne de “continuation” Elle a la même forme qu’une ligne de zone excepté que la chaîne “Zone” et le nom sont omis, car la ligne de continuation placera les informations débutant au temps indiqué comme l’information “until” dans la ligne précédente dans le fichier utilisé par la ligne précédente. Les lignes de continuation peuvent contenir des informations “until” tout comme les lignes de zone le font, indiquant que la ligne suivante est une continuation supplémentaire.

Si une zone change au même moment qu’une règle aurait pris effet dans la zone précédente ou dans la ligne de continuation, la règle est ignorée. Dans une même zone, c’est une erreur si deux règles prennent effet au même moment ou si deux modifications de zone se produisent au même moment.

Une ligne de lien est de la forme :

Link	CIBLE	NOM-LIEN

Par exemple :

Link	Europe/Istanbul	Asia/Istanbul

Le champ CIBLE doit exister sous forme de champ NAME dans une ligne de zone. Le champ NOM-LIEN sert de lien alternatif pour cette zone. Il possède la même syntaxe que le champ NAME de la ligne de zone.

Sauf pour celles de continuation, les lignes peuvent apparaitre dans n’importe quel ordre dans l’entrée. Cependant, le comportement est indéfini si plusieurs lignes de zone ou de lien définissent le même nom ou si la source d’un lien est la cible de l’autre.

Les lignes dans le fichier décrivant les secondes de rattrapage périodique doivent avoir la forme :


Leap	YEAR	MONTH	DAY	HH:MM:SS	CORR	R/S

Par exemple :

Leap	2016	Dec	31	23:59:60	+	S

Les champs YEAR, MONTH, DAY et HH:MM:SS indiquent quand la seconde de rattrapage se produit. Le champ CORR doit être “+” si une seconde a été ajoutée ou “-” si une seconde a été sautée. Le champ R/S doit être (une abréviation de) “Stationary” si le temps de la seconde de rattrapage indiqué par les autres champs doit être interprété comme UTC ou (une abréviation de) “Rolling” si le temps de rattrapage de seconde indiqué par les autres champs doit être interprété comme temps de l'horloge locale.

EXEMPLE APPROFONDI

Voici un exemple étendu d’entrée de zic, conçu pour illustrer la plupart de ses fonctionnalités. Dans cet exemple, les règles EU valent pour L’Union européenne et pour son prédécesseur, La Communauté européenne.

# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Swiss 1941 1942 - May Mon>=1 1:00 1:00 S Rule Swiss 1941 1942 - Oct Mon>=1 2:00 0 - Rule EU 1977 1980 - Apr Sun>=1 1:00u 1:00 S Rule EU 1977 only - Sep lastSun 1:00u 0 - Rule EU 1978 only - Oct 1 1:00u 0 - Rule EU 1979 1995 - Sep lastSun 1:00u 0 - Rule EU 1981 max - Mar lastSun 1:00u 1:00 S Rule EU 1996 max - Oct lastSun 1:00u 0 - # Zone NAME UTOFF RULES FORMAT [UNTIL] Zone Europe/Zurich 0:34:08 - LMT 1853 Jul 16 0:29:46 - BMT 1894 Jun 1:00 Swiss CE%sT 1981 1:00 EU CE%sT Link Europe/Zurich Europe/Vaduz
Dans cet exemple, le fuseau horaire est appelé Europe/Zurich mais il a un alias, Europe/Vaduz. Cet exemple indique que Zurich était 34 minutes et 8 secondes à l’est du TU jusqu’au 16/07/1853 à 00:00, quand le décalage officiel a été changé à 7°26′22.50″, qui mène au résultat 0:29:45.50, le format d’entrée ne pouvant représenter des fractions de seconde aussi il est arrondi. Après le 01/06/1894 à 00:00, le décalage du TU est devenu une heure et les règles suisses d’heure d’été (définies par les lignes commençant avec “Rule Swiss”) ont été appliquées. De 1981 à maintenant, les règles d’heure d’été de l’EU ont été appliquées et le décalage de TU est demeuré d’une heure.

En 1941 et 1942, l’heure d’été s’est appliquée du premier lundi de mai à 01:00 jusqu’au premier lundi d’octobre à 02:00. Les règles d’heure d’été de l’UE avant 1981 n’ont aucun effet ici mais sont incluses pour complétude. Depuis 1981, l’heure d’été commence le dernier dimanche de mars à 01:00 UTC et se terminait le dernier dimanche de septembre à 01:00 UTC, mais cela a changé pour le dernier dimanche d’octobre depuis 1996.

Dans un but d’affichage, “LMT” et “BMT” ont été initialement utilisés respectivement. Depuis que les règles suisses et plus tard les règles de l’UE ont été appliquées, l’abréviation de fuseau horaire a été CET pour le temps standard et CEST pour l’heure d’été.

FICHIERS

/etc/localtime
Fichier par défaut du fichier de fuseau horaire.
/usr/share/zoneinfo
Répertoire par défaut d’information de fuseau horaire.

NOTES

Pour les zones ayant plus de deux types d'heure locale, il peut être nécessaire d'utiliser l'heure locale standard dans le champ AT de la première règle de transition pour s'assurer que la première heure de transition du fichier compilé soit correcte.

Si, pour une zone horaire, une avance d’horloge provoquée par le début de l’heure d’été coïncide et est égal avec un recul d’horloge provoqué par un changement de décalage de TU, zic produit une transition unique vers l’heure d’été au nouveau décalage de TU sans modification du temps local (horloge). Pour obtenir des transitions séparées, plusieurs lignes de continuation de zone, précisant les moments de transition au temps universel, sont à utiliser.

VOIR AUSSI

tzfile(5), zdump(8)

COLOPHON

Cette page fait partie de la publication 5.04 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

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 Jean-Paul Guillonneau <guillonneau.jeanpaul@free.fr>

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 à debian-l10n-french@lists.debian.org.

6 mars 2019