Lire en anglais

Partager via


Classe gps_clock

Horloge pour l’heure GPS (Global Positioning System).

Syntaxe

class gps_clock; // C++20

Notes

Cette horloge mesure l’heure depuis le dimanche 6 janvier 1980 00:00:00 UTC.

Cette horloge ne tient pas compte des secondes bissextiles. Chaque fois qu’une seconde de saut est ajoutée à l’heure UTC, UTC tombe une autre seconde derrière l’heure GPS.

Le temps GPS est derrière le temps DE TAI de 19 secondes, car 10 secondes ont été ajoutées à la durée de tai en 1972 pour tenir compte des secondes de saut qui avaient accumulé jusqu’à ce point, et 9 secondes supplémentaires ont été ajoutées à l’heure DE TAI entre 1970 et 1980.

Membres

Nom Description
from_utc Statique. Convertit une utc_time en une gps_time.
now Statique. Retourne l’heure actuelle du GPS.
to_utc Statique. Convertit une gps_time en une utc_time.

Non-membres

Nom Description
from_stream Analysez une gps_time valeur à partir du flux donné à l’aide du format spécifié.
operator<< Sortie d’un gps_time flux donné.

Alias de type pratique

Nom Description
gps_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, exprimée en unités de 100 nanosecondes.
gps_clock::period Dans l’implémentation de Microsoft, il s’agit d’un synonyme de ratio<1, 10'000'000>. Il représente l’heure en fractions d’une seconde (100 nanosecondes) entre chaque cycles d’horloge dans la durée.
gps_clock::rep Synonyme du type (long long) utilisé pour représenter les unités intégrales dans cette horloge gps_clock::duration.
gps_clock::time_point Synonyme de time_point<gps_clock>. Utilisé pour représenter une time_point horloge.

Associé

Nom Description
gps_time Synonyme de template <class Duration> using gps_time = time_point<gps_clock, Duration>. Utilisé pour représenter un time_point pour un gps_clock. Vous spécifiez le Duration. Défini dans std::chrono
gps_seconds Synonyme d’un using gps_seconds = gps_time<seconds>; nombre de secondes, représenté par un time_point associé à un gps_clock. Défini dans std::chrono

Constantes publiques

Nom Description
gps_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 gps_timeen .

template<class Duration>
static gps_time<common_type_t<Duration, seconds>>
from_utc(const utc_time<Duration>& t) noexcept;

Paramètres

t
utc_time à convertir.

Valeur retournée

Défini gps_time sur le même point dans le temps que le utc_time t. Il est calculé comme gps_time<common_type_t<Duration, seconds>>{t.time_since_epoch()} - 315964809s315964809s == sys_days{1980y/January/Sunday[1]} - sys_days{1970y/January/1} + 9s. Il s’agit du nombre de secondes entre l’époque utc_clock et l’époque gps_clock .

to_utc

Méthode statique qui convertit un gps_time utc_timeen .

template<class Duration>
static utc_time<common_type_t<Duration, seconds>>
to_utc(const gps_time<Duration>& t) noexcept;

Paramètres

t
gps_time à convertir.

Valeur de retour

Défini utc_time sur le même point dans le temps que le gps_time. Il est calculé comme gps_time<common_type_t<Duration, seconds>>{t.time_since_epoch()} + 315964809s315964809s == sys_days{1980y/January/Sunday[1]} - sys_days{1970y/January/1} + 9s. C’est le nombre de secondes entre les époques du utc_clock et le gps_clock.

is_steady

Valeur statique qui spécifie si le type d’horloge est stable. Dans l’implémentation de Microsoft, is_steady_constant est toujours false. Comme le gps_clock n’est pas stable, vous ne pouvez pas utiliser cette horloge de manière fiable 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 = system_clock::is_steady; // system_clock::is_steady equals false

now

Méthode statique qui retourne l’heure GPS actuelle.

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
tai_clock, classe
Informations de référence sur les fichiers d’en-tête