Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
En klocka för Coordinated Universal Time (UTC) som ibland kallas Greenwich Mean Time (GMT) eller Zulu-tid. Lokal tid justeras från UTC-tid beroende på din tidszon.
Syntax
class utc_clock; // C++20
Anmärkningar
Den här klockan mäter tid sedan 00:00:00 UTC torsdagen den 1 januari 1970. Den här klockan står för skottsekunder och är grunden för civil tid runt om i världen.
UTC-tidsfrekvensen baseras på internationell atomtid (TAI) som använder atomiska klockor för att spåra tid. Men en språng sekund läggs ibland till UTC-tid för att hålla skillnaden mellan UTC-tid och UT1 (soltid) inom +- 0,9 sekunder.
Det finns en avvikelse mellan tiden som hålls av atomiska klockor, och tiden som hålls genom att spåra jordens rotation. Det beror på att jordens rotationshastighet är oregelbunden, och i allmänhet saktar ner över tid med ungefär en sekund var 1,5 år (även om jordens rotationshastighet ibland ökar). En skottsekundersjustering håller UTC-spårningstiden inom en sekund av den genomsnittliga längden på en dag.
När detta skrivs har 27 skottsekunder lagts till sedan övningen att infoga skottsekunder började 1972. International Earth Rotation and Reference Systems Service (IERS) avgör när ett hopp sekund kommer att läggas till. Att lägga till en skottsekunder kallas för en "leap second insertion". När ett skott sekund infogas, tiden, som den närmar sig midnatt, fortsätter från 23 timmar 59 minuter 59 sekunder till 23 timmar 59 minuter 60 sekunder (infogade språng sekund) och sedan till 0 timmar 0 minuter 0 sekunder (midnatt). Historiskt sett har skottsekunder lagts till den 30 juni eller 31 december.
UTC-tid startar per definition 10 sekunder bakom TAI (atomisk tid). 10 sekunder lades till 1972 till TAI-tid för att rymma för de skottsekunder som hade ackumulerats vid den punkten. Med tanke på införandet av ytterligare 27 skottsekunder sedan dess är UTC-tiden för närvarande 37 sekunder efter TAI-tid (atomisk klocka).
Medlemmar
| Namn | Beskrivning |
|---|---|
from_sys |
Statisk. Konverterar en sys_time till en utc_time. |
now |
Statisk. Returnerar aktuell tid. |
to_sys |
Statisk. Konverterar en utc_time till en sys_time. |
Icke-medlemmar
| Namn | Beskrivning |
|---|---|
from_stream |
Parsa en utc_time från den angivna strömmen med det angivna formatet. |
get_leap_second_info |
Hämtar en leap_second_info som anger om den angivna tiden anger en tid när en skottsekunder infogades. Den innehåller också summan av alla skottsekunder mellan den 1 januari 1970 och den angivna varaktigheten. |
operator<< |
Mata ut en utc_time till den angivna strömmen. |
Alias för bekvämlighetstyp
| Namn | Beskrivning |
|---|---|
utc_clock::duration |
I Microsofts implementering är det en synonym för duration<system_clock::rep, system_clock::period>. Den representerar en tidsperiod som mäts i enheter på 100 nanosekunder. |
utc_clock::period |
Microsofts implementering definierar detta som en synonym för system_clock::period. Den representerar tiden i sekunder (100 nanosekunder) mellan varje tick under varaktigheten. |
utc_clock::rep |
En synonym för typen (long long) som används för att representera integralenheterna i klockans utc_clock::duration. |
utc_clock::time_point |
En synonym för time_point<utc_clock>. Används för att representera en time_point för den här klockan. |
Relaterade
| Namn | Beskrivning |
|---|---|
utc_seconds |
En synonym för using utc_seconds = utc_time<seconds>; |
utc_time |
En synonym för template<class Duration> using utc_time = time_point<utc_clock, Duration>;Representerar en time_point för en utc_clock. Du anger varaktigheten. Definierad i std::chrono |
Offentliga konstanter
| Namn | Beskrivning |
|---|---|
utc_clock::is_steady konstant |
Anger om klocktypen är stabil. Dess värde är false. |
Kravspecifikation
Rubrik:<chrono> (sedan C++20)
Namespace:std::chrono
kompilatoralternativ:/std:c++latest
from_sys
Statisk metod som konverterar en sys_time till en utc_time.
template<class Duration>
static utc_time<common_type_t<Duration, seconds>>
from_sys(const sys_time<Duration>& t);
Parameterar
t
Den sys_time att konvertera.
Returvärde
En utc_time uppsättning till den tid som närmast approximeras sys_timet. Om det inte finns någon direkt mappning returneras time_point under en sekundinfogning och det sista representerbara värdet sys_time för innan skottet infogas.
to_sys
Statisk metod som konverterar en utc_time till en sys_time.
template<class Duration>
static sys_time<common_type_t<Duration, seconds>>
to_sys(const utc_time<Duration>& t);
Parameterar
t
Den utc_time att konvertera.
Returvärde
Inställningen sys_time till motsvarande tidpunkt som t. Om det inte finns någon direkt mappning är det det sista värde som kan representeras innan ett skott tvåa infogas i det fall som t representerar en tidpunkt då ett skott sekund infogades. Att lägga till en skottsekunder kallas för en "leap second insertion". När ett skott sekund infogas, tiden när den närmar sig midnatt fortsätter från 23 timmar 59 minuter 59 sekunder till 23 timmar 59 minuter 60 sekunder (det infogade språng sekund) och sedan till 0 timmar 0 minuter 0 sekunder (midnatt). Tidigare har skottsekunder lagts till antingen den 30 juni eller 31 december.
is_steady
Statiskt värde som anger om klocktypen är stabil. I Microsofts implementering is_steady_constant är false. Eftersom den utc_clock inte är stabil kan du inte använda den här klockan på ett tillförlitligt sätt för att ta tid före en händelse, tiden efter en händelse och subtrahera dem för att få varaktigheten för händelsen eftersom klockan kan justeras under den tiden.
static const bool is_steady = false;
now
Statisk metod som returnerar aktuell UTC-tid. Den returnerade tiden inkluderar skottsekunder.
static time_point now() noexcept;
Returvärde
Ett time_point objekt som representerar den aktuella tiden. Den returnerade tidpunkten är i praktiken from_sys(system_clock::now()).
Se även
<chrono>
file_clock class
gps_clock class
high_resolution_clock
local_t Struct
steady_clock Struct
system_clock Struct
Klassen tai_clock
referens för huvudfiler