gps_clock-Klasse

Eine Uhr für die Zeit des Global Positioning Systems (GPS).

Syntax

class gps_clock; // C++20

Hinweise

Diese Uhr misst die Zeit seit Sonntag, 6. Januar 1980 00:00:00 UTC.

Diese Uhr berücksichtigt keine Schaltsekunden. Immer wenn ein Schalt second in UTC-Zeit hinzugefügt wird, fällt UTC eine weitere Sekunde hinter GPS-Zeit.

DIE GPS-Zeit liegt um 19 Sekunden hinter der TAI-Zeit, da 10 Sekunden 1972 zur TAI-Zeit hinzugefügt wurden, um die Schaltsekunden zu berücksichtigen, die sich zu diesem Zeitpunkt angesammelt hatten, und 9 weitere Schaltsekunden wurden zu TAI-Zeit zwischen 1970 und 1980 hinzugefügt.

Mitglieder

Name Beschreibung
from_utc Statisch. Konvertiert ein utc_time -Element in ein gps_time-Element.
now Statisch. Gibt die aktuelle GPS-Uhrzeit zurück.
to_utc Statisch. Konvertiert ein gps_time -Element in ein utc_time-Element.

Nicht-Member

Name Beschreibung
from_stream Analysieren Eines gps_time aus dem angegebenen Datenstrom mithilfe des angegebenen Formats.
operator<< Gibt einen gps_time an den angegebenen Datenstrom aus.

Komforttypaliasen

Name Beschreibung
gps_clock::duration In der Implementierung von Microsoft ist es ein Synonym für duration<long long, ratio<1, 10'000'000>. Sie stellt eine Zeitdauer dar, die in Einheiten von 100 Nanosekunden gemessen wird.
gps_clock::period In der Implementierung von Microsoft ist es ein Synonym für ratio<1, 10'000'000>. Sie stellt die Zeit in Bruchteilen einer Sekunde (100 Nanosekunden) zwischen jedem Takt in der Dauer dar.
gps_clock::rep Ein Synonym für den Typ (long long), der verwendet wird, um die integralen Einheiten in dieser Uhr gps_clock::durationdarzustellen.
gps_clock::time_point Ein Synonym für time_point<gps_clock>. Wird verwendet, um eine time_point für diese Uhr darzustellen.

Related

Name Beschreibung
gps_time Ein Synonym für template <class Duration> using gps_time = time_point<gps_clock, Duration>. Wird verwendet, um eine time_point für ein gps_clock. Sie geben die Duration. Definiert in std::chrono
gps_seconds Ein Synonym für using gps_seconds = gps_time<seconds>; die Anzahl von Sekunden, dargestellt durch eine, die einem time_point gps_clockzugeordnet ist. Definiert in std::chrono

Öffentliche Konstanten

Name Beschreibung
gps_clock::is_steady Konstante Gibt an, ob der Takttyp stabil ist. Sein Wert lautet false.

Anforderungen

Header: <chrono> (seit C++20)

Namespace:std::chrono

Compileroption: /std:c++latest

from_utc

Statische Methode, die eine utc_time in eine gps_time.

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

Parameter

t
Die zu konvertierende utc_time.

Rückgabewert

Ein gps_time Satz auf denselben Zeitpunkt wie der utc_time t. Es wird berechnet, wo gps_time<common_type_t<Duration, seconds>>{t.time_since_epoch()} - 315964809s 315964809s == sys_days{1980y/January/Sunday[1]} - sys_days{1970y/January/1} + 9s. Dies ist die Anzahl der Sekunden zwischen der utc_clock Epoche und der gps_clock Epoche.

to_utc

Statische Methode, die eine gps_time in eine utc_time.

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

Parameter

t
Die zu konvertierende gps_time.

Rückgabewert

Ein utc_time Satz auf denselben Zeitpunkt wie der gps_time. Es wird berechnet, wo gps_time<common_type_t<Duration, seconds>>{t.time_since_epoch()} + 315964809s 315964809s == sys_days{1980y/January/Sunday[1]} - sys_days{1970y/January/1} + 9s. Das ist die Anzahl der Sekunden zwischen den Epochen der utc_clock und der gps_clock.

is_steady

Ein statischer Wert, der angibt, ob der Uhrtyp gleichmäßig ist. In der Implementierung is_steady_constant von Microsoft ist immer false. Da dies gps_clock nicht stabil ist, können Sie diese Uhr nicht zuverlässig verwenden, um die Zeit vor einem Ereignis, die Zeit nach einem Ereignis zu nehmen, und subtrahieren Sie sie, um die Dauer des Ereignisses zu erhalten, da die Uhr während dieser Zeit angepasst werden kann.

static const bool is_steady = system_clock::is_steady; // system_clock::is_steady equals false

now

Statische Methode, die die aktuelle GPS-Zeit zurückgibt.

static time_point now() noexcept;

Rückgabewert

Ein time_point-Objekt, das die aktuelle Uhrzeit darstellt. Der zurückgegebene Zeitpunkt ist effektiv from_utc(utc_clock::now()).

Siehe auch

<chrono>
file_clock class
high_resolution_clock
local_t-Struktur
steady_clock-Struktur
system_clock-Struktur
tai_clock-Klasse
Headerdateienreferenz