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::durationdarzustellen.
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_clockzugeordnet 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 378691210s378691210s == 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()} - 378691210s378691210s == 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