Třída tai_clock
Tyto hodiny hlásí mezinárodní atomický čas od 00:00:00 ve čtvrtek 1. ledna 1958. Tyto hodiny nezohlácuje přestupné sekundy.
Syntaxe
class tai_clock; // C++20
Poznámky
Tyto hodiny hlásí mezinárodní atomický čas (TAI, z francouzské temps atomique international). Pro sledování času používá mezinárodní atomický čas vážený průměr mnoha atomických hodin.
Čas uchováný hodinou TAI se liší od času UTC. Rozdíl spočívá v tom, že přestupná sekunda se občas přidává do času UTC, aby byl rozdíl mezi časem UTC a UT1 (slunečním časem) v intervalu +- 0,9 sekundy mezi sebou. Nesrovnalosti postupně nabíhají mezi časem uchovávaném atomovými hodinami a časem uchovávaném měřením rotace země. Nesrovnalosti nabíhají, protože rychlost otáčení země je nepravidelná. Zpomaluje se v průběhu času přibližně o jednu sekundu každých 1,5 let, myslela si, že se také někdy urychlí. Čas TAI tuto nesrovnalost nesleduje. Od tohoto psaní je čas TAI 37 sekund před časem UTC. Důvodem je počáteční rozdíl 10 sekund na začátku roku 1972 plus přestupné sekundy, které byly vloženy od roku 1972.
Epocha hodin nebo datum a čas, od kterého začíná měřit čas, je 1958-01-01 00:00:00
.
Členové
Název | Popis |
---|---|
from_utc |
Statický. Převede na utc_time .tai_time |
now |
Statický. Vrátí aktuální mezinárodní atomový čas. |
to_utc |
Statický. tai_time Převede na utc_time . |
Nečlenové
Název | Popis |
---|---|
from_stream |
Parsujte tai_clock z daného datového proudu pomocí zadaného formátu. |
get_leap_second_info |
Získejte informace o tom, jestli zadaný čas určuje čas vložení přestupné sekundy a součet všech přestupných sekund mezi 1. lednem 1970 a zadanou dobou trvání. |
operator<< |
tai_time Vypíše do daného datového proudu. |
Aliasy typů pohodlí
Název | Popis |
---|---|
tai_clock::duration |
V implementaci Microsoftu je to synonymum pro duration<long long, ratio<1, 10'000'000> . Představuje dobu trvání měřenou v jednotkách 100 nanosekund. |
tai_clock::period |
V implementaci Microsoftu je to synonymum pro ratio<1, 10'000'000> . Představuje čas v sekundách (100 nanosekund) mezi jednotlivými značkami v době trvání. |
tai_clock::rep |
Synonymum pro typ (long long ) sloužící k reprezentaci integrálních jednotek v tomto formátu tai_clock::duration . |
tai_clock::time_point |
Synonymum pro time_point<tai_clock> . Používá se k reprezentaci time_point pro tento čas. |
Příbuzný
Název | Popis |
---|---|
tai_time |
Synonymum pro template <class Duration> using tai_time = time_point<tai_clock, Duration> . Představuje pro time_point objekt tai_clock . Zadáte hodnotu Duration . Definováno v std::chrono |
tai_seconds |
Synonymum pro using tai_seconds = tai_time<seconds> počet sekund reprezentovaný time_point symbolem , který je přidružen k tai_clock . Definováno v std::chrono |
Veřejné konstanty
Název | Popis |
---|---|
tai_clock::is_steady constant |
Určuje, zda je typ hodin stabilní. Její hodnota je false . |
Požadavky
Hlavička: <chrono>
(od C++20)
Obor názvů: std::chrono
Možnost kompilátoru: /std:c++latest
from_utc
Statická metoda, která převede na utc_time
.tai_time
template <class Duration>
static tai_time<common_type_t<Duration, seconds>>
from_utc(const utc_time<Duration>& t) noexcept;
Parametry
t
Převod.utc_time
Vrácená hodnota
A tai_time
, který představuje ekvivalent utc_time
jako t
. Počítá se tak, že si vezme čas od epochy hodin UTC a přidá 378691210s
se tam, kde 378691210s == sys_days{1970y/January/1} - sys_days{1958y/January/1} + 10s
to_utc
Statická metoda, která převede na tai_time
.utc_time
template<class Duration>
static utc_time<common_type_t<Duration, seconds>>
to_utc(const tai_time<Duration>& t) noexcept;
Parametry
t
Převod.tai_time
Návratová hodnota
A utc_time
, který představuje ekvivalent tai_time
jako t
. Vypočítá se jako utc_time<common_type_t<Duration, seconds>>{t.time_since_epoch()} - 378691210s
kde 378691210s == sys_days{1970y/January/1} - sys_days{1958y/January/1} + 10s
is_steady
Statická hodnota, která určuje, zda je typ hodin stabilní. V implementaci is_steady_constant
Microsoftu je false
. Vzhledem k tai_clock
tomu, že tyto hodiny nejsou stabilní, nemůžete tento čas použít k tomu, abyste si vzali čas před událostí, čas po události a odebrali je, abyste získali dobu trvání události, protože hodiny se během této doby můžou upravit.
static const bool is_steady = false;
now
Statická metoda, která vrací aktuální čas TAI.
static time_point now() noexcept;
Návratová hodnota
Objekt time_point
, který představuje aktuální čas. Vrácený časový bod je efektivně from_utc(utc_clock::now())
.
Viz také
<chrono>
file_clock class
high_resolution_clock
local_t
Struct
steady_clock
Struct
system_clock
Struct
Třída utc_clock
Referenční informace k souborům hlaviček