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::duration darzustellen. |
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_clock zugeordnet 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