Classe tai_clock
Questo orologio riporta l'ora atomica internazionale dalle 00:00:00 di giovedì 1 gennaio 1958. Questo orologio non tiene conto dei secondi intercalari.
Sintassi
class tai_clock; // C++20
Osservazioni:
Questo orologio riporta International Atomic Time (TAI, dalla temps atomque internazionale francese). International Atomic Time usa una media ponderata di molti orologi atomici per tenere traccia dell'ora.
L'ora mantenuta dall'orologio TAI è diversa dall'ora UTC. La differenza è che un secondo bisestile viene occasionalmente aggiunto all'ora UTC per mantenere la differenza tra l'ora UTC e l'ora solare UT1 entro +- 0,9 secondi l'uno dall'altro. Una discrepanza si accumula gradualmente tra il tempo mantenuto da un orologio atomico e il tempo mantenuto misurando la rotazione della terra. Una discrepanza si accumula perché la velocità di rotazione terrestre è irregolare. Rallenta nel tempo di circa un secondo ogni 1,5 anni, pensando che a volte accelera anche. Il tempo TAI non tiene traccia di questa discrepanza. A partire da questo articolo, l'ora TAI è di 37 secondi prima dell'ora UTC. Questo è dovuto a una differenza iniziale di 10 secondi all'inizio del 1972, più i secondi bisestile che sono stati inseriti dal 1972.
L'epoca dell'orologio, o la data e l'ora da cui inizia a misurare l'ora, è 1958-01-01 00:00:00
.
Membri
Nome | Descrizione |
---|---|
from_utc |
Statico. Converte utc_time in tai_time . |
now |
Statico. Restituisce l'ora atomica internazionale corrente. |
to_utc |
Statico. Converte tai_time in utc_time . |
Membri non membri
Nome | Descrizione |
---|---|
from_stream |
Analizzare un oggetto tai_clock dal flusso specificato usando il formato specificato. |
get_leap_second_info |
Ottenere informazioni sul fatto che l'ora specificata specifichi un'ora in cui è stato inserito un secondo bisestile e la somma di tutti i secondi intercalari compresi tra il 1° gennaio 1970 e la durata specificata. |
operator<< |
Restituisce un oggetto tai_time nel flusso specificato. |
Alias del tipo di praticità
Nome | Descrizione |
---|---|
tai_clock::duration |
Nell'implementazione di Microsoft, è un sinonimo di duration<long long, ratio<1, 10'000'000> . Rappresenta una durata del tempo misurata in unità di 100 nanosecondi. |
tai_clock::period |
Nell'implementazione di Microsoft, è un sinonimo di ratio<1, 10'000'000> . Rappresenta il tempo in secondi (100 nanosecondi) tra ogni tick nella durata. |
tai_clock::rep |
Sinonimo del tipo (long long ) utilizzato per rappresentare le unità integrali di questo orologio.tai_clock::duration |
tai_clock::time_point |
Sinonimo di time_point<tai_clock> . Utilizzato per rappresentare un oggetto time_point per questo orologio. |
Imparentato
Nome | Descrizione |
---|---|
tai_time |
Sinonimo di template <class Duration> using tai_time = time_point<tai_clock, Duration> . Rappresenta un oggetto time_point per un oggetto tai_clock . Specificare .Duration Definito in std::chrono |
tai_seconds |
Sinonimo di using tai_seconds = tai_time<seconds> Un conteggio di secondi, rappresentato da un time_point oggetto associato a un oggetto tai_clock . Definito in std::chrono |
Costanti pubbliche
Nome | Descrizione |
---|---|
tai_clock::is_steady constant |
Indica se il tipo di orologio è costante. Il valore è false . |
Requisiti
Intestazione: <chrono>
(da C++20)
Spazio dei nomi: std::chrono
Opzione del compilatore: /std:c++latest
from_utc
Metodo statico che converte un oggetto utc_time
in un oggetto tai_time
.
template <class Duration>
static tai_time<common_type_t<Duration, seconds>>
from_utc(const utc_time<Duration>& t) noexcept;
Parametri
t
Oggetto utc_time
da convertire.
Valore restituito
Oggetto tai_time
che rappresenta l'equivalente utc_time
come t
. Viene calcolato prendendo il tempo dal periodo dell'orologio UTC e aggiungendo 378691210s
dove 378691210s == sys_days{1970y/January/1} - sys_days{1958y/January/1} + 10s
to_utc
Metodo statico che converte un oggetto tai_time
in un oggetto utc_time
.
template<class Duration>
static utc_time<common_type_t<Duration, seconds>>
to_utc(const tai_time<Duration>& t) noexcept;
Parametri
t
Oggetto tai_time
da convertire.
Valore restituito
Oggetto utc_time
che rappresenta l'equivalente tai_time
come t
. Viene calcolato come utc_time<common_type_t<Duration, seconds>>{t.time_since_epoch()} - 378691210s
dove 378691210s == sys_days{1970y/January/1} - sys_days{1958y/January/1} + 10s
is_steady
Valore statico che specifica se il tipo di clock è costante. Nell'implementazione di Microsoft è is_steady_constant
false
. Poiché tai_clock
non è costante, non è possibile usare questo orologio per prendere il tempo prima di un evento, l'ora dopo un evento e sottrarrli per ottenere la durata dell'evento perché l'orologio può essere regolato durante tale tempo.
static const bool is_steady = false;
now
Metodo statico che restituisce l'ora TAI corrente.
static time_point now() noexcept;
Valore restituito
Oggetto time_point
che rappresenta l'ora corrente. Il punto di tempo restituito è effettivamente from_utc(utc_clock::now())
.
Vedi anche
<chrono>
file_clock class
high_resolution_clock
local_t
Struct
steady_clock
Struct
system_clock
Struct
Classe utc_clock
Riferimento file di intestazione