Sdílet prostřednictvím


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