Share via


utc_clock klas

Een klok voor Coordinated Universal Time (UTC) die soms populair wordt aangeduid als Greenwich Mean Time (GMT) of Zulu-tijd. Lokale tijd wordt aangepast vanaf UTC-tijd, afhankelijk van uw tijdzone.

Syntaxis

class utc_clock; // C++20

Opmerkingen

Deze klok meet de tijd sinds 00:00:00 UTC op donderdag 1 januari 1970. Deze klok is verantwoordelijk voor schrikkel seconden en is de basis voor civiele tijd over de hele wereld.

De snelheid van UTC-tijd is gebaseerd op International Atomic Time (TAI) die atomische klokken gebruikt om tijd bij te houden. Een schrikkel tweede wordt echter af en toe toegevoegd aan UTC-tijd om het verschil tussen UTC-tijd en UT1 (zonnetijd) binnen +- 0,9 seconden te houden.

Er is een discrepantie tussen de tijd die door atoomklokken wordt bewaard en de tijd die wordt bewaard door het bijhouden van de draaiing van de aarde. Dat komt doordat de draaisnelheid van de aarde onregelmatig is en in het algemeen met ongeveer één seconde per 1,5 jaar vertraagt (hoewel soms de draaisnelheid van de aarde toeneemt). Met een sprong tweede aanpassing blijft utc-traceringstijd binnen een seconde van de gemiddelde lengte van een dag.

Vanaf dit schrijven zijn 27 schrikkel seconden toegevoegd sinds de praktijk van het invoegen van schrikkel seconden begon in 1972. De International Earth Rotation and Reference Systems Service (IERS) bepaalt wanneer een schrikkel tweede wordt toegevoegd. Het toevoegen van een schrikkel second wordt een 'leap second insertion' genoemd. Wanneer een tweede schrikkel wordt ingevoegd, gaat de tijd, zoals het middernacht nadert, van 23 uur 59 minuten 59 seconden tot 23 uur 59 minuten 60 seconden (de ingevoegde schrikkel tweede) en vervolgens tot 0 uur 0 minuten 0 seconden (middernacht). In het verleden zijn schrikkel seconden toegevoegd op 30 juni of 31 december.

UTC-tijd begint per definitie 10 seconden achter TAI (atomische tijd). 10 seconden werden in 1972 toegevoegd aan TAI-tijd om ruimte te bieden voor de schrikkel seconden die door dat punt waren verzameld. Gezien de invoeging van nog eens 27 schrikkel seconden sindsdien, is UTC-tijd momenteel 37 seconden achter TAI (atomische klok) tijd.

Leden

Naam Beschrijving
from_sys statisch. Converteert een sys_time naar een utc_time.
now statisch. Retourneert de huidige tijd.
to_sys statisch. Converteert een utc_time naar een sys_time.

Niet-leden

Naam Beschrijving
from_stream Parseert een utc_time van de opgegeven stream met behulp van de opgegeven indeling.
get_leap_second_info Hiermee wordt een leap_second_info opgehaald die aangeeft of de opgegeven tijd een tijd aangeeft waarop een schrikkel tweede is ingevoegd. Het bevat ook de som van alle schrikkel seconden tussen 1 januari 1970 en de opgegeven duur.
operator<< Voer een utc_time uitvoer uit naar de opgegeven stream.

Gemakstypealiassen

Naam Beschrijving
utc_clock::duration In de implementatie van Microsoft is het een synoniem voor duration<system_clock::rep, system_clock::period>. Het vertegenwoordigt een tijdsduur die wordt gemeten in eenheden van 100 nanoseconden.
utc_clock::period De implementatie van Microsoft definieert dit als synoniem voor system_clock::period. Het vertegenwoordigt de tijd in seconden (100 nanoseconden) tussen elke maatstreep in de duur.
utc_clock::rep Een synoniem voor het type (long long) dat wordt gebruikt om de integrale eenheden in deze klok utc_clock::durationweer te geven.
utc_clock::time_point Een synoniem voor time_point<utc_clock>. Wordt gebruikt om een time_point voor deze klok weer te geven.

Aanverwant

Naam Beschrijving
utc_seconds Een synoniem voor using utc_seconds = utc_time<seconds>;
utc_time Een synoniem voor template<class Duration> using utc_time = time_point<utc_clock, Duration>;Vertegenwoordigt een time_point voor een utc_clock. U geeft de duur op. Gedefinieerd in std::chrono

Openbare constanten

Naam Beschrijving
utc_clock::is_steady constant Geeft aan of het kloktype stabiel is. De waarde is false.

Behoeften

Rubriek:<chrono> (sinds C++20)

Namespace:std::chrono

compileroptie:/std:c++latest

from_sys

Statische methode waarmee een sys_time naar een utc_time.

template<class Duration>
static utc_time<common_type_t<Duration, seconds>>
from_sys(const sys_time<Duration>& t);

Parameterwaarden

t
De sys_time die u wilt converteren.

Retourwaarde

Een utc_time set op de tijd die het dichtst bij benadering ligt bij de sys_timet. Als er geen directe toewijzing bestaat, wordt de time_point tijdens een tweede spronginvoeging en de laatst vertegenwoordigbare waarde van sys_time vóór de invoeging van de schrikkel seconde geretourneerd.

to_sys

Statische methode waarmee een utc_time naar een sys_time.

template<class Duration>
static sys_time<common_type_t<Duration, seconds>>
to_sys(const utc_time<Duration>& t);

Parameterwaarden

t
De utc_time die u wilt converteren.

Retourwaarde

De sys_time set is ingesteld op het equivalente tijdstip als t. Als er geen directe toewijzing bestaat, is dit de laatste vertegenwoordigbare waarde vóór de invoeging van een schrikkel seconde in het geval dat t een tijdstip aangeeft waarop een schrikkel tweede is ingevoegd. Het toevoegen van een schrikkel second wordt een 'leap second insertion' genoemd. Wanneer een tweede schrikkel wordt ingevoegd, gaat de tijd die rond middernacht ligt van 23 uur 59 minuten 59 seconden tot 23 uur 59 minuten 60 seconden (de ingevoegde schrikkel seconde) en vervolgens tot 0 uur 0 minuten 0 seconden (middernacht). In het verleden zijn schrikkel seconden toegevoegd op 30 juni of 31 december.

is_steady

Statische waarde die aangeeft of het kloktype stabiel is. In de implementatie is_steady_constant van Microsoft is false. Omdat de utc_clock klok niet stabiel is, kunt u deze klok niet betrouwbaar gebruiken om de tijd voor een gebeurtenis, de tijd na een gebeurtenis te nemen en af te trekken om de duur van de gebeurtenis op te halen omdat de klok tijdens die tijd kan worden aangepast.

static const bool is_steady = false;

now

Statische methode die de huidige UTC-tijd retourneert. De geretourneerde tijd omvat schrikkel seconden.

static time_point now() noexcept;

Retourwaarde

Een time_point object dat de huidige tijd vertegenwoordigt. Het geretourneerde tijdspunt is effectief from_sys(system_clock::now()).

Zie ook

<chrono>
file_clock class
gps_clock class
high_resolution_clock
local_t Struct
steady_clock Struct
system_clock Struct
tai_clock klas
headerbestanden