Classe tai_clock
Cette horloge signale l’heure atomique internationale depuis 00:00:00 le jeudi 1er janvier 1958. Cette horloge ne tient pas compte des secondes bissextiles.
Syntaxe
class tai_clock; // C++20
Notes
Cette horloge signale l’heure atomique internationale (TAI, du Français temps atomique international). Le temps atomique international utilise une moyenne pondérée de nombreuses horloges atomiques pour suivre le temps.
L’heure conservée par l’horloge TAI est différente de l’heure UTC. La différence est qu’une seconde de saut est occasionnellement ajoutée à l’heure UTC pour conserver la différence entre l’heure UTC et l’heure UT1 (heure solaire) dans +- 0,9 secondes entre elles. Une différence s’accumule progressivement entre le temps conservé par une horloge atomique et le temps conservé en mesurant la rotation de la terre. Une différence s’accumule parce que la vitesse de rotation de la terre est irrégulière. Il ralentit au fil du temps d’environ une seconde toutes les 1,5 ans, pensait-il aussi parfois accélérer. Le temps de tai ne suit pas cette différence. À partir de cette écriture, l’heure TAI est de 37 secondes à l’avance sur l’heure UTC. C’est en raison d’une différence initiale de 10 secondes au début de 1972, plus les secondes de saut qui ont été insérées depuis 1972.
L’époque de l’horloge, ou la date et l’heure à partir de laquelle elle commence à mesurer l’heure, est 1958-01-01 00:00:00
.
Membres
Nom | Description |
---|---|
from_utc |
Statique. Convertit une utc_time en une tai_time . |
now |
Statique. Retourne l’heure atomique internationale actuelle. |
to_utc |
Statique. Convertit en tai_time utc_time . |
Non-membres
Nom | Description |
---|---|
from_stream |
Analysez une tai_clock valeur à partir du flux donné à l’aide du format spécifié. |
get_leap_second_info |
Obtenez des informations sur le fait que l’heure fournie spécifie une heure à laquelle une seconde de saut a été insérée et la somme de toutes les secondes de saut entre le 1er janvier 1970 et la durée spécifiée. |
operator<< |
Sortie d’un tai_time flux donné. |
Alias de type pratique
Nom | Description |
---|---|
tai_clock::duration |
Dans l’implémentation de Microsoft, il s’agit d’un synonyme de duration<long long, ratio<1, 10'000'000> . Il représente une durée de temps mesurée en unités de 100 nanosecondes. |
tai_clock::period |
Dans l’implémentation de Microsoft, il s’agit d’un synonyme de ratio<1, 10'000'000> . Il représente la durée en secondes (100 nanosecondes) entre chaque graduation dans la durée. |
tai_clock::rep |
Synonyme du type (long long ) utilisé pour représenter les unités intégrales dans cette horloge tai_clock::duration . |
tai_clock::time_point |
Synonyme de time_point<tai_clock> . Utilisé pour représenter une time_point horloge. |
Associé
Nom | Description |
---|---|
tai_time |
Synonyme de template <class Duration> using tai_time = time_point<tai_clock, Duration> . Représente un time_point pour un tai_clock . Vous spécifiez le Duration . Défini dans std::chrono |
tai_seconds |
Synonyme d’un using tai_seconds = tai_time<seconds> nombre de secondes, représenté par un time_point associé à un tai_clock . Défini dans std::chrono |
Constantes publiques
Nom | Description |
---|---|
tai_clock::is_steady constant |
Indique si le type d’horloge est stable. Sa valeur est de false . |
Spécifications
En-tête : <chrono>
(depuis C++20)
Espace de noms : std::chrono
Option du compilateur : /std:c++latest
from_utc
Méthode statique qui convertit un utc_time
tai_time
en .
template <class Duration>
static tai_time<common_type_t<Duration, seconds>>
from_utc(const utc_time<Duration>& t) noexcept;
Paramètres
t
utc_time
à convertir.
Valeur retournée
Qui tai_time
représente l’équivalent utc_time
en tant que t
. Elle est calculée en prenant le temps depuis l’époque de l’horloge UTC et en ajoutant 378691210s
où 378691210s == sys_days{1970y/January/1} - sys_days{1958y/January/1} + 10s
to_utc
Méthode statique qui convertit un tai_time
utc_time
en .
template<class Duration>
static utc_time<common_type_t<Duration, seconds>>
to_utc(const tai_time<Duration>& t) noexcept;
Paramètres
t
tai_time
à convertir.
Valeur de retour
Qui utc_time
représente l’équivalent tai_time
en tant que t
. Elle est calculée comme utc_time<common_type_t<Duration, seconds>>{t.time_since_epoch()} - 378691210s
où 378691210s == sys_days{1970y/January/1} - sys_days{1958y/January/1} + 10s
is_steady
Valeur statique qui spécifie si le type d’horloge est stable. Dans l’implémentation de Microsoft, is_steady_constant
est false
. Comme tai_clock
il n’est pas stable, vous ne pouvez pas utiliser cette horloge pour prendre le temps avant un événement, l’heure après un événement et les soustraire pour obtenir la durée de l’événement, car l’horloge peut être ajustée pendant cette période.
static const bool is_steady = false;
now
Méthode statique qui retourne l’heure actuelle de l’tai.
static time_point now() noexcept;
Valeur de retour
Objet time_point
qui représente l’heure actuelle. Le point de temps retourné est effectivement from_utc(utc_clock::now())
.
Voir aussi
<chrono>
file_clock class
high_resolution_clock
Struct local_t
Struct steady_clock
Struct system_clock
utc_clock
, classe
Informations de référence sur les fichiers d’en-tête