tai_clock
-Klasse
Diese Uhr berichtet seit 00:00:00 Uhr am Donnerstag, dem 1. Januar 1958. Diese Uhr berücksichtigt keine Schaltsekunden.
Syntax
class tai_clock; // C++20
Hinweise
Diese Uhr berichtet International Atomic Time (TAI, von den französischen Temps atomique international). Internationale Atomzeit verwendet einen gewichteten Durchschnitt vieler Atomuhren, um die Zeit nachzuverfolgen.
Die von der TAI-Uhr gehaltene Zeit unterscheidet sich von der UTC-Zeit. Der Unterschied besteht darin, dass ein Schaltsekunden gelegentlich zu UTC-Zeit hinzugefügt wird, um den Unterschied zwischen UTC-Zeit und UT1 (Sonnenzeit) innerhalb von +- 0,9 Sekunden voneinander beizubehalten. Eine Diskrepanz entsteht allmählich zwischen der Zeit, die von einer Atomuhr gehalten wird, und der Zeit, die gehalten wird, indem die Drehung der Erde gemessen wird. Eine Diskrepanz entsteht, da die Drehgeschwindigkeit der Erde unregelmäßig ist. Es verlangsamt sich im Laufe der Zeit um etwa eine Sekunde alle 1,5 Jahre, dachte, es beschleunigt auch manchmal. DIE TAI-Zeit verfolgt diese Diskrepanz nicht. Ab diesem Schreiben liegt die TAI-Zeit 37 Sekunden vor UTC-Zeit. Das liegt an einem anfänglichen Unterschied von 10 Sekunden zu Beginn von 1972 sowie den Schaltsekunden, die seit 1972 eingefügt wurden.
Die Epoche der Uhr oder das Datum und die Uhrzeit, von der aus sie beginnt, die Zeit zu messen, ist 1958-01-01 00:00:00
.
Mitglieder
Name | Beschreibung |
---|---|
from_utc |
Statisch. Konvertiert ein utc_time -Element in ein tai_time -Element. |
now |
Statisch. Gibt die aktuelle internationale Atomzeit zurück. |
to_utc |
Statisch. tai_time Konvertiert in utc_time . |
Nicht-Member
Name | Beschreibung |
---|---|
from_stream |
Analysieren Eines tai_clock aus dem angegebenen Datenstrom mithilfe des angegebenen Formats. |
get_leap_second_info |
Rufen Sie Informationen dazu ab, ob die angegebene Zeit eine Zeit angibt, zu der ein Schaltsekunden eingefügt wurde, und die Summe aller Schaltsekunden zwischen dem 1. Januar 1970 und der angegebenen Dauer. |
operator<< |
Gibt einen tai_time an den angegebenen Datenstrom aus. |
Komforttypaliasen
Name | Beschreibung |
---|---|
tai_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. |
tai_clock::period |
In der Implementierung von Microsoft ist es ein Synonym für ratio<1, 10'000'000> . Sie stellt die Zeit in Sekunden (100 Nanosekunden) zwischen jedem Teilstrich in der Dauer dar. |
tai_clock::rep |
Ein Synonym für den Typ (long long ), der verwendet wird, um die integralen Einheiten in dieser Uhr tai_clock::duration darzustellen. |
tai_clock::time_point |
Ein Synonym für time_point<tai_clock> . Wird verwendet, um eine time_point für diese Uhr darzustellen. |
Related
Name | Beschreibung |
---|---|
tai_time |
Ein Synonym für template <class Duration> using tai_time = time_point<tai_clock, Duration> . Stellt ein time_point für ein tai_clock . Sie geben die Duration . Definiert in std::chrono |
tai_seconds |
Ein Synonym für using tai_seconds = tai_time<seconds> die Anzahl von Sekunden, dargestellt durch eine, die einem time_point tai_clock zugeordnet ist. Definiert in std::chrono |
Öffentliche Konstanten
Name | Beschreibung |
---|---|
tai_clock::is_steady constant |
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 tai_time
.
template <class Duration>
static tai_time<common_type_t<Duration, seconds>>
from_utc(const utc_time<Duration>& t) noexcept;
Parameter
t
Die zu konvertierende utc_time
.
Rückgabewert
A tai_time
, das die Entsprechung utc_time
als t
. Es wird berechnet, indem die Zeit seit der Epoche der UTC-Uhr berechnet und wo hinzugefügt wird 378691210s
378691210s == sys_days{1970y/January/1} - sys_days{1958y/January/1} + 10s
to_utc
Statische Methode, die eine tai_time
in eine utc_time
.
template<class Duration>
static utc_time<common_type_t<Duration, seconds>>
to_utc(const tai_time<Duration>& t) noexcept;
Parameter
t
Die zu konvertierende tai_time
.
Rückgabewert
A utc_time
, das die Entsprechung tai_time
als t
. Es wird berechnet, wo utc_time<common_type_t<Duration, seconds>>{t.time_since_epoch()} - 378691210s
378691210s == sys_days{1970y/January/1} - sys_days{1958y/January/1} + 10s
is_steady
Ein statischer Wert, der angibt, ob der Uhrtyp gleichmäßig ist. In der Microsoft-Implementierung is_steady_constant
lautet false
. Da tai_clock
sie nicht stabil ist, können Sie diese Uhr nicht 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 = false;
now
Statische Methode, die die aktuelle TAI-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
utc_clock
-Klasse
Headerdateienreferenz