====== clock ======
Obtient et manipule l'heure
===== Syntaxe =====
clock add timeVal ?count unit...? ?-option value?
clock clicks ?-option?
clock format timeVal ?-option value...?
clock microseconds
clock milliseconds
clock scan inputString ?-option value...?
clock seconds
===== Description =====
Cette commande effectue l'une des opérations qui permettent d'obtenir ou de manipuler des chaînes ou des valeurs qui représentent une notion de temps. L'argument option détermine l'action effectuée par la commande. Les options légales (qui peuvent être abrégées) sont:
==== clicks ====
clock clicks ?-milliseconds?
Retourne une valeur haute-résolution de l'heure en tant que valeur entière dépendante du système. L'unité de valeur dépend du système mais est la plus haute résolution d'horloge disponible sur le système tel un cycle CPU. Si -milliseconds est spécifié, alors on a la garantie que la valeur a une granularité de la milliseconde. Cette valeur ne doit être utilisée que pour la mesure relative du temps écoulé.
==== format ====
clock format clockValue ?-format string? ?-gmt boolean?
Convertit un entier représentant un temps, typiquement renvoyé par clock seconds, clock scan, ou les options atime, mtime, ou ctime de la commandefile, en une forme compréhensible. Si l'argument -format est présent l'argument suivant est une chaîne qui décrit comment date et l'heure doivent être formatés. Les descripteurs de champs sont constitués d'un % suivi par un caractère descripteur de champ. Tous les autre caractères sont copiés dans résultat. Les descripteurs de champs valides sont:
* %% Insère un %.
* %a Nom abrégé d'un jour de la semaine (Mon, Tue, etc.).
* %A Nom complet d'un jour de la semaine (Monday, Tuesday, etc.).
* %b Nom abrégé d'un mois (Jan, Feb, etc.).
* %B Nom complet d'un mois
* %c Date et heure Locale spécifique.
* %d Jour du mois (01 - 31).
* %H Heure en format 24-heure (00 - 23).
* %I Heure en format 12-heure (00 - 12).
* %j Jour de l'année (001 - 366).
* %m Numéro du mois (01 - 12).
* %M Minute (00 - 59).
* %p indicateur AM/PM.
* %S Secondes (00 - 59).
* %U Semaine de l 'année (00 - 52), Dimanche est le premier jour de la semaine.
* %w Numéro du jour de la semaine. (Dimanche = 0).
* %W Semaine de l 'année (00 - 52), Lundi est le premier jour de la semaine
* %x Format de Date Locale.
* %X Format d'Heure Locale.
* %y Année sans siècle (00 - 99).
* %Y Année avec siècle (ex. 1990)
* %Z Nom de Time zone.
De plus, les descripteurs de champs suivants peuvent être supportés sur quelque systèmes (ex. Unix mais pas Windows):
* %D Date comme %m/%d/%y.
* %e Jour du mois (1 - 31), sans le zéro complémentaire.
* %h Nom abrégé d'un mois.
* %n Insère un saut de ligne.
* %r Heure comme %I:%M:%S %p.
* %R Heure comme %H:%M.
* %t Insère une tabulation.
* %T Heure comme %H:%M:%S.
Si l'argument -format n'est pas spécifié, la chaîne de formatage "%a %b %d %H:%M:%S %Z %Y" est utilisée. Si l'argument -gmt est présent il doit être suivi d'un booléen qui s'il est vrai spécifie que l'heure doit être formatée comme une heure Greenwich Mean Time. S'il est faux, la timezone locale définie par l'environnement d'exploitation est utilisée.
==== scan ====
clock scan dateString ?-base clockVal? ?-gmt boolean?
Convertit //dateString// en une valeur d'horloge entière (voir [[#seconds|clock seconds]]).
Cette commande peut virtuellement analyser et convertir toute chaîne de date et/ou d'heure standard, qui peut inclure des mnémoniques timezone standards. Si une heure est spécifiée seule, la date courante est supposée. Si la chaîne ne contient pas de mnémoniques timezone, la timezone locale est supposée, à moins que l'argument //-gmt// soit vrai, auquel cas la valeur horloge est calculée en présumant que l'heure spécifiée est relative à Greenwich Mean Time.
//-gmt//, si spécifié, affecte seulement la valeur de l'heure calculée; elle n'influe pas sur l'interprétation de -base.
Si le flag //-base// est spécifié, l'argument suivant doit contenir une valeur horloge entière. Seule la date de cette valeur est utilisée, pas l'heure. Ceci est utile pour déterminer l'heure d'un jour spécifique ou faire d'autres conversions relatives à la date.
La //dateString// est constitué de zéro ou plus éléments de la forme suivante:
* **time** L'heure du jour, qui est de la forme: `hh?:mm?:ss?? ?meridian? ?zone?` ou `hhmm ?meridian? ?zone?`. Si //meridian// n'est spécifié, //hh// est interprété sur une horloge 24 heures.
* **date** Une date mois et jour spécifique avec l'année optionnelle. Les formats acceptables sont `mm/dd?/yy?`, `monthname dd ?, yy?`, `dd monthname ?yy?`, `day, dd monthname yy`, `?CC?yymmdd`, `?CC?yy-mm-dd`, `dd-monthname-?CC?yy`. L'année par défaut est l'année courante. Si l'année est inférieure à 100, les années 00-68 seront interprétées 2000-2068 et les années 69-99 comme 1969-1999. Toutes les plate-formes ne savent pas représenter les années 38-70, aussi l'utilisation de ces années peut entraîner une erreur.
* **relative time** Une spécification relative à l'heure courante. Le format est //number unit//, les unités acceptables sont **year**, **fortnight**, **month**, **week**, **day**, **hour**, **minute** (ou **min**), et **second** (ou **sec**). L'unité peut être donnée au singulier ou au pluriel, comme dans `3 weeks`. Ces modificateurs peuvent aussi être: **tomorrow**, **yesterday**, **today**, **now**, **last**, **this**, **next**, **ago**. La date actuelle est calculée selon les étapes suivantes.
* D'abord, toute date et/ou temps absolu est traitée et convertie.
* Partant de cet instant comme base, les spécifications du jour de la semaine sont ajoutées.
* Ensuite, des spécifications relatives sont utilisées. Si une date ou un jour est spécifié, et qu'aucune heure absolue ou relative n'est donnée, minuit est utilisé.
* Finalement, une correction est appliquée ainsi l'heure du jour correcte est produite après les rectifications pour l'heure d'été et la date correcte est donnée au passage de la fin d'un mois long à un mois court. La correction d'heure d'été est appliquée seulement quand l'heure relative est spécifiée dans les unités de jour ou plus, c.a.d., jours, semaines, quinzaines, mois ou années. Ceci signifie que quand on change d'heure, des résultats différents seront donnés pour `clock scan "1 day"` et `clock scan "24 hours"`:
% clock scan "1 day" -base [clock scan 1999-10-31]
941443200
% clock scan "24 hours" -base [clock scan 1999-10-31]
941439600
==== seconds ====
clock seconds
Retourne l'heure et la date courante comme valeur entière dépendante du système . L'unité de valeur est la seconde, lui permettant d'être utilisée pour les calculs de temps relatif. La valeur est usuellement définie comme le temps total écoulé depuis un "epoch". Vous ne pouvez présumer la valeur de l'epoch.
===== Exemples =====
===== Voir aussi =====
[[faq:strftime]]
{{tag>tcl incomplete}}