Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
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