Partager via


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_timeen .

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 378691210s378691210s == sys_days{1970y/January/1} - sys_days{1958y/January/1} + 10s

to_utc

Méthode statique qui convertit un tai_time utc_timeen .

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()} - 378691210s378691210s == 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