Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
abs(duration)
Retourneert d als d >= d.zero(); retourneert anders -d.
Syntaxis
template <class Rep, class Period>
constexpr duration<Rep, Period> abs(duration<Rep, Period> d ); // C++17
Parameters
Rep
Het type interne weergave van de bron durationd.
Period
Een std::ratio type dat de verhouding van één seconde aangeeft aan het brontype Rep (dat wil gezegd, seconden per Rep).
d
Het bronobject duration.
Retourwaarde
De absolute waarde van d.
Voorbeeld: abs(duration)
// compile using: /std:c++latest
#include <chrono>
#include <iostream>
int main()
{
std::cout << abs(-24h);
return 0;
}
24h
ceil(duration)
Retourneert de kleinste vertegenwoordigbare duration in het doeltype dat groter is dan of gelijk is aan de opgegeven duration.
Syntaxis
template<class ToDuration, class Rep, class Period>
constexpr ToDuration
ceil(const duration<Rep, Period>& d); // C++17
Parameters
ToDuration
Het duration doeltype. Beperkt als specialisatie van duration.
Rep
Het type interne weergave van de bron durationd.
Period
Een std::ratio type dat de verhouding van één seconde aangeeft aan het brontype Rep (dat wil gezegd, seconden per Rep).
d
Het bronobject duration.
Retourwaarde
Retourneert de kleinste duration die in ToDuration groter is dan of gelijk is aan de parameter d.
Opmerkingen
ceil neemt niet deel aan overbelastingsresolutie, tenzij het ToDuration type een exemplaar van een durationis.
ceil(time_point)
Retourneert het kleinste tijdspunt dat in de doel-duration groter is dan of gelijk is aan het opgegeven tijdstip.
Syntaxis
template<class ToDuration, class Clock, class Duration>
constexpr time_point<Clock, ToDuration>
ceil(const time_point<Clock, Duration>& t); // C++17
Parameters
ToDuration
Het duration doeltype. Beperkt als specialisatie van duration.
Clock
Het algemene kloktype van het resultaat en de bronparameter tp.
Duration
Het duration type tp.
tp
Het bronobject time_point.
Retourwaarde
Retourneert het kleinste tijdspunt dat kan worden aangegeven met behulp van ToDuration die groter is dan of gelijk is aan tp. Effectief, time_point<Clock, ToDuration>(ceil<ToDuration>(tp.time_since_epoch()));.
Opmerkingen
ceil neemt niet deel aan overbelastingsresolutie, tenzij het ToDuration type een exemplaar van een durationis.
clock_cast
Converteert een time_point voor één klok naar een equivalente time_point voor een andere klok.
Syntaxis
template <class DestClock, class SourceClock, class Duration>
auto clock_cast(const time_point<SourceClock, Duration>& t); // C++20
Parameters
DestClock
Het kloktype om de time_point te converteren naar.
Duration
De duration van de SourceClockof een die u opgeeft.
SourceClock
Het kloktype waarop de time_point moet worden geconverteerd, is gebaseerd op.
t
De time_point die u wilt converteren.
Retourwaarde
Een time_point gelijk aan t, maar specifiek voor DestClock.
Opmerkingen
De parameters SourceClock en Duration kunnen worden afgeleid via aftrek van klassesjabloonargumenten wanneer deze niet expliciet worden doorgegeven. Bijvoorbeeld, gezien clock_cast<utc_clock>(file_clock::now()), wordt SourceClock afgeleid om file_clockte zijn en wordt Duration afgeleid om file_clock::durationte worden.
In de volgende lijst met goed opgemaakte klokconversies is de conversie vereist die de minste conversiestappen vereist om van de SourceClock naar de DestClock te worden geselecteerd.
clock_time_conversion<DestClock, SourceClock>{}(t)
clock_time_conversion<DestClock, system_clock>{}(
clock_time_conversion<system_clock, SourceClock>{}(t))
clock_time_conversion<DestClock, utc_clock>{}(
clock_time_conversion<utc_clock, SourceClock>{}(t))
clock_time_conversion<DestClock, utc_clock>{}(
clock_time_conversion<utc_clock, system_clock>{}(
clock_time_conversion<system_clock, SourceClock>{}(t)))
clock_time_conversion<DestClock, system_clock>{}(
clock_time_conversion<system_clock, utc_clock>{}(
clock_time_conversion<utc_clock, SourceClock>{}(t)))
Zie clock_time_conversion structvoor meer informatie over wat clock_time_conversion doet.
Voorbeeld van clock_cast
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
utc_clock::time_point t = clock_cast<utc_clock>(file_clock::now());
std::cout << t;
return 0;
}
2021-10-11 22:58:17.8540720
current_zone
Hiermee haalt u het huidige tijdzoneobject op.
Syntaxis
const time_zone* current_zone(); // C++20
Retourwaarde
Retourneert een aanwijzer naar een time_zone alsof door een aanroep naar get_tzdb().current_zone(). Er wordt een runtime_error uitzondering gegenereerd als dit de eerste verwijzing naar de tijdzonedatabase is en de tijdzonedatabase niet kan worden geïnitialiseerd.
duration_cast
Hiermee wordt een duration geconverteerd naar het opgegeven duration type.
Syntaxis
template <class ToDuration, class Rep, class Period>
constexpr ToDuration
duration_cast(const duration<Rep, Period>& d); // C++11
Parameters
ToDuration
Het duration doeltype. Beperkt als specialisatie van duration.
Rep
Het type interne weergave van de bron durationd.
Period
Een std::ratio type dat de verhouding van één seconde aangeeft aan het brontype Rep (dat wil gezegd, seconden per Rep).
d
Het bronobject duration dat moet worden gecast naar het duration doeltype.
Retourwaarde
Een object van het type ToDuration dat de durationdvertegenwoordigt. Het wordt zo nodig afgekapt om in het doeltype te passen. Het resultaat van het casten van een drijvendekomma duration naar een integraal duration is niet gedefinieerd als de bron een NaN, een oneindigheid of te groot is voor weergave in het doel duration.
Opmerkingen
U hoeft duration_cast niet te gebruiken om te converteren tussen duration typen wanneer de bronperiode exact deelbaar is voor de doelperiode, bijvoorbeeld wanneer u minuten converteert naar seconden. U hebt deze ook niet nodig om te converteren tussen typen drijvende komma duration. U kunt beide conversies uitvoeren met gewone casts of de duration constructors.
duration_cast neemt niet deel aan overbelastingsresolutie, tenzij ToDuration een exemplaar van durationis. Alle conversies worden uitgevoerd met behulp van static_cast in plaats van impliciete conversies. Vermenigvuldigingen en delen worden indien mogelijk vermeden. Als de compiler bijvoorbeeld weet dat de gemeenschappelijke verhouding van de doel- en bronperioden een teller of noemer van 1 heeft. Berekeningen worden uitgevoerd in het breedste type dat beschikbaar is en worden vervolgens geconverteerd alsof static_cast naar het resultaattype wanneer u klaar bent.
Voorbeeld van duration_cast
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
seconds s(1);
std::cout << duration_cast<microseconds>(s) << '\n';
std::cout << duration_cast<nanoseconds>(s) << '\n';
return 0;
}
1000000us
1000000000ns
floor(duration)
Retourneert de grootste vertegenwoordigbare duration in het doeltype dat kleiner is dan of gelijk is aan de opgegeven duration.
Syntaxis
template<class ToDuration, class Rep, class Period>
constexpr ToDuration
floor(const duration<Rep, Period>& d); // C++17
Parameters
ToDuration
Het duration doeltype. Beperkt als specialisatie van duration.
Rep
Het type interne weergave van de bron durationd.
Period
Een std::ratio type dat de verhouding van één seconde aangeeft aan het brontype Rep (dat wil gezegd, seconden per Rep).
d
Het bronobject duration.
Retourwaarde
Retourneert de grootste duration die kan worden weergegeven in ToDuration die kleiner is dan of gelijk is aan de parameter d.
Opmerkingen
floor neemt niet deel aan overbelastingsresolutie, tenzij het ToDuration type een exemplaar van een durationis.
floor(time_point)
Retourneert het grootste tijdspunt dat in de doel-duration die kleiner is dan of gelijk is aan het opgegeven tijdspunt.
Syntaxis
template<class ToDuration, class Clock, class Duration>
constexpr time_point<Clock, ToDuration>
floor(const time_point<Clock, Duration>& tp); // C++17
Parameters
ToDuration
Het duration doeltype. Beperkt als specialisatie van duration.
Clock
Het algemene kloktype van het resultaat en de bronparameter tp.
Duration
Het duration type tp.
tp
Het bronobject time_point.
Retourwaarde
Retourneert het grootste tijdspunt dat kan worden aangegeven met behulp van ToDuration die kleiner is dan of gelijk is aan tp. Effectief, time_point<Clock, ToDuration>(floor<ToDuration>(tp.time_since_epoch()));.
Opmerkingen
floor neemt niet deel aan overbelastingsresolutie, tenzij het ToDuration type een exemplaar van een durationis.
from_stream
Parseert de invoerstroom in een van de std::chrono tijds- of intervaltypen, zoals day, month, month_day, weekday, year, year_month, year_month_dayenzovoort, met behulp van de opgegeven indeling.
Als de parsering mislukt, wordt is.setstate(ios_base::failbit) aangeroepen en wordt de uitvoerparameter niet gewijzigd.
// 1) day - C++20
template<class charT class traits, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(
basic_istream<charT, traits>& is, const charT* fmt,
day& d, basic_string<charT, traits, Alloc>* abbrev = nullptr,
minutes* offset = nullptr);
// 2) duration - C++20
template<class charT, class traits, class Rep, class Period, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(
basic_istream<charT, traits>& is, const charT* fmt,
duration<Rep, Period>& dur, basic_string<charT, traits, Alloc>* abbrev = nullptr,
minutes* offset = nullptr);
// 3) file_time - C++20
template<class charT, class traits, class Duration, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(
basic_istream<charT, traits>& is, const charT* fmt,
file_time<Duration>& ft, basic_string<charT, traits, Alloc>* abbrev = nullptr,
minutes* offset = nullptr);
// 4) gps_time - C++20
template<class charT, class traits, class Duration, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(
basic_istream<charT, traits>& is, const charT* fmt,
gps_time<Duration>& gt, basic_string<charT, traits, Alloc>* abbrev = nullptr,
minutes* offset = nullptr);
// 5) local_time - C++20
template<class charT, class traits, class Duration, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(
basic_istream<charT, traits>& is, const charT* fmt,
local_time<Duration>& lt, basic_string<charT, traits, Alloc>* abbrev = nullptr,
minutes* offset = nullptr);
// 6) month - C++20
template<class charT, class traits, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(
basic_istream<charT, traits>& is, const charT* fmt,
month& m, basic_string<charT, traits, Alloc>* abbrev = nullptr,
minutes* offset = nullptr);
// 7) month_day - C++20
template<class charT, class traits, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(
basic_istream<charT, traits>& is, const charT* fmt,
month_day& md, basic_string<charT, traits, Alloc>* abbrev = nullptr,
minutes* offset = nullptr);
// 8) utc_time - C++20
template<class charT, class traits, class Duration, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(
basic_istream<charT, traits>& is, const charT* fmt,
utc_time<Duration>& ut, basic_string<charT, traits, Alloc>* abbrev = nullptr,
minutes* offset = nullptr);
// 9) sys_time - C++20
template<class charT, class traits, class Duration, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(
basic_istream<charT, traits>& is, const charT* fmt,
sys_time<Duration>& st, basic_string<charT, traits, Alloc>* abbrev = nullptr,
minutes* offset = nullptr);
// 10) tai_time - C++20
template<class charT, class traits, class Duration, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(
basic_istream<charT, traits>& is, const charT* fmt,
tai_time<Duration>& tt, basic_string<charT, traits, Alloc>* abbrev = nullptr,
minutes* offset = nullptr);
// 11) weekday - C++20
template<class charT, class traits, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(
basic_istream<charT, traits>& is, const charT* fmt,
weekday& wd, basic_string<charT, traits, Alloc>* abbrev = nullptr,
minutes* offset = nullptr);
// 12) year - C++20
template<class charT, class traits, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(
basic_istream<charT, traits>& is, const charT* fmt,
year& y, basic_string<charT, traits, Alloc>* abbrev = nullptr,
minutes* offset = nullptr);
// 13) year_month - C++20
template<class charT, class traits, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(
basic_istream<charT, traits>& is, const charT* fmt,
year_month& ym, basic_string<charT, traits, Alloc>* abbrev = nullptr,
minutes* offset = nullptr);
// 14) year_month_day - C++20
template<class charT, class traits, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(
basic_istream<charT, traits>& is, const charT* fmt,
year_month_day& ymd, basic_string<charT, traits, Alloc>* abbrev = nullptr,
minutes* offset = nullptr);
Sjabloonparameters
Alloc
Het type dat het allocatorobject vertegenwoordigt dat de toewijzing en toewijzing van het geheugen van de tekenreeks afhandelt.
charT
Het gegevenstype van één teken dat moet worden gelezen uit de stroom en moet worden opgeslagen in de tekenreeks. De C++ Standaardbibliotheek biedt specialisaties van deze klassesjabloon, met de typedefinities string voor elementen van het type char, wstring, voor wchar_t, u16string voor char16_ten u32string voor char32_t.
traits
Beschrijft charT kenmerken voor de basic_string en basic_istream specialisatie.
Rep
Het interne weergavetype van een duration type.
Period
Een std::ratio type dat de verhouding van één seconde aangeeft aan het brontype Rep (dat wil gezegd, seconden per Rep).
Duration
Het duration type dat wordt gebruikt voor tijdspecialisatie.
Parameters
abbrev
Als abbrev niet is nullptren de notatieaanduiding %Z is opgegeven en de parsering is geslaagd, abbrev de geparseerde waarde bevat.
d
Als de parsering is geslaagd, bevat deze de geparseerde dag wanneer de functie wordt geretourneerd.
dur
De duration geparseerd uit de stream.
fmt
De notatietekenreeks die wordt gebruikt om overeen te komen met de invoer. Zie tekenreeksen parseren voor de lijst met opties voor parseren van opmaak.
ft
De file_time geparseerd uit de stream.
gt
De gps_time geparseerd uit de stream.
is
De invoerstroom die moet worden geparseerd.
lt
De local_time geparseerd uit de stream.
m
De month geparseerd uit de stream.
md
De month_day geparseerd uit de stream.
offset
Als offset niet is nullptren de notatieaanduiding %z of gewijzigde variant, zoals %Ez of %0z, is opgegeven en de parsering is geslaagd, verwijst offset naar de geparseerde waarde.
st
De sys_time geparseerd uit de stream.
tt
De tai_time geparseerd uit de stream.
ut
De utc_time geparseerd uit de stream.
wd
De weekday geparseerd uit de stream.
y
De year geparseerd uit de stream.
ym
De year_month geparseerd uit de stream.
ymd
De year_month_day geparseerd uit de stream.
Retourwaarde
De invoerstroom, is
Voorbeeld: from_stream
// compile using: /std:c++latest
#include <chrono>
#include <iostream>
int main()
{
std::istringstream str{ "22" };
std::basic_istream<char> stream{ str.rdbuf() };
std::chrono::day d;
std::chrono::from_stream(stream, "%d", d);
std::cout << d << "\n";
return 0;
}
22
Opmerkingen
7) Als %Z wordt gebruikt en geparseerd, wordt die waarde toegewezen aan *abbrev als abbrev niet null is. Als %z (of een gewijzigde variant) wordt gebruikt en geparseerd, wordt die waarde toegewezen aan *offset als offset niet null is.
12) Als %Z wordt gebruikt en geparseerd, wordt die waarde toegewezen aan *abbrev als abbrev niet null is. Als %z (of een gewijzigde variant) wordt gebruikt en geparseerd, wordt die waarde toegewezen aan *offset als offset niet null is.
tekenreeksen from_stream opmaken
De indeling kan een van deze tekenreeksen zijn:
Datum
| Aanduiding | Beschrijving |
|---|---|
%D |
Gelijk aan %m/%d/%y |
%F%
N-F |
Gelijk aan %Y-%m-%d. Als deze wordt gewijzigd met een Nbreedte, wordt de breedte alleen toegepast op %Y. |
%x%Ex |
De datumweergave van de landinstelling.%Ex parseert de alternatieve datumweergave van de landinstelling.1 |
Dag
| Aanduiding | Beschrijving |
|---|---|
%d%Od%
N-d%e%Oe%
N-e |
De dag van de maand als een decimaal getal.%
N-d geeft het maximum aantal tekens op dat moet worden gelezen, bijvoorbeeld %1d. Als N- niet is opgegeven, is de standaardwaarde 2.Voorloopnullen zijn toegestaan, maar zijn niet vereist. %Od (letter O, niet nul) interpreteert de alternatieve weergave van de landinstelling van de dag van de maand.1 %e is gelijk aan %d en kan worden gewijzigd als %d.1 |
Dag van de week
| Aanduiding | Beschrijving |
|---|---|
%a%A |
De volledige of verkorte naam van de landinstelling die niet hoofdlettergevoelig is voor de weekdag.%A is gelijk aan %a |
%u%
N-u |
De ISO-weekdag als een decimaal getal (1-7), waarbij maandag 1 is. %
N-u geeft het maximum aantal tekens op dat moet worden gelezen, bijvoorbeeld %2u. Als N- niet is opgegeven, is de standaardwaarde 1. Voorloopnullen zijn toegestaan, maar zijn niet vereist. |
%w%
N-w%Ow |
De weekdag als een decimaal getal (0-6), waarbij zondag 0 is.%
N-w geeft het maximum aantal tekens op dat moet worden gelezen, bijvoorbeeld %2w. Als N- niet is opgegeven, is de standaardwaarde 1.Voorloopnullen zijn toegestaan, maar zijn niet vereist. %Ow (letter O, niet nul) interpreteert de alternatieve weergave van de landinstelling.1 |
Week/dag van het jaar
| Aanduiding | Beschrijving |
|---|---|
%j%
N-j |
Als het type dat wordt opgemaakt een specialisatie van de duur is, is het decimaal aantal dagen zonder opvulling. Anders wordt de dag van het jaar als een decimaal getal weergegeven.
Jan 1 is 001. Als het resultaat minder dan drie cijfers is, wordt het links opgevuld met 0 (nul) tot drie cijfers.%
N-jgeeft het maximum aantal tekens op dat moet worden gelezen, bijvoorbeeld %2j. Als N niet is opgegeven, is de standaardwaarde 3. Voorloopcijfers zijn toegestaan, maar zijn niet vereist. |
%U%
N-U%OU |
Het weeknummer van het jaar als een decimaal getal. De eerste zondag van het jaar is de eerste dag van de week 01. Dagen van hetzelfde jaar voor die week zijn in week 00. Als het resultaat één cijfer is, wordt het voorafgegaan door 0 (nul).%
N-U geeft het maximum aantal tekens op dat moet worden gelezen, bijvoorbeeld %2U. Als N- niet is opgegeven, is de standaardwaarde 2.Voorloopnullen zijn toegestaan, maar zijn niet vereist. %OU (letter O, niet nul) parseert de alternatieve weergave van de landinstelling.1 |
%W%
N-W%OW |
Het weeknummer van het jaar als een decimaal getal. De eerste maandag van het jaar is de eerste dag van de week 01. Dagen van hetzelfde jaar voor die week zijn in week 00.Als het resultaat één cijfer is, wordt het voorafgegaan door 0 (nul).%
N-W geeft het maximum aantal tekens op dat moet worden gelezen, bijvoorbeeld %2W. Als N- niet is opgegeven, is de standaardwaarde 1Voorloopnullen zijn toegestaan, maar zijn niet vereist. %OW (letter O, niet nul) parseert de alternatieve weergave van de landinstelling.1 |
Tijdstip van de dag
| Aanduiding | Beschrijving |
|---|---|
%H%
N-H%OH |
Het uur (24-uurs klok) als een decimaal getal. Als het resultaat één cijfer is, wordt het voorafgegaan door een 0 (nul).%
N-H geeft het maximum aantal tekens op dat moet worden gelezen, bijvoorbeeld %1H. Als N- niet is opgegeven, is de standaardwaarde 2.Voorloopnullen zijn toegestaan, maar zijn niet vereist. %OH (letter O, niet nul) parseert de alternatieve weergave van de landinstelling.1 |
%I%
N-I%OI |
Het uur (12-uurs klok) als een decimaal getal. Als het resultaat één cijfer is, wordt het voorafgegaan door 0 (nul).%
N-I geeft het maximum aantal tekens op dat moet worden gelezen, bijvoorbeeld %1I. Als N- niet is opgegeven, is de standaardwaarde 2.Voorloopnullen zijn toegestaan, maar zijn niet vereist. %OI (letter O, niet nul) parseert de alternatieve weergave van de landinstelling.1 |
%M%
N-M%OM |
De minuten als een decimaal getal. Als het resultaat één cijfer is, wordt het voorafgegaan door 0 (nul).%
N-M geeft het maximum aantal tekens op dat moet worden gelezen, bijvoorbeeld %3M. Als N- niet is opgegeven, is de standaardwaarde 2.Voorloopnullen zijn toegestaan, maar zijn niet vereist. %OM (letter O, niet nul) parseert de alternatieve weergave van de landinstelling.1 |
%S%
N-S%OS |
Seconden als een decimaal getal. Als het aantal seconden kleiner is dan 10, wordt het resultaat voorafgegaan door 0 (nul). Als de precisie van de invoer niet exact kan worden weergegeven met seconden, is de notatie een decimaal zwevend kommanummer met een vaste notatie. Het heeft een precisie van microseconden als de functie de decimale seconden van drijvende komma niet binnen 18 fractionele cijfers kan converteren. Anders komt de precisie overeen met de precisie van de invoer. Het teken voor het decimaalteken wordt gelokaliseerd op basis van de landinstelling.%
N-S geeft het maximum aantal tekens op dat moet worden gelezen, bijvoorbeeld %3S. Als N- niet is opgegeven, is de standaardwaarde 2.Voorloopnullen zijn toegestaan, maar zijn niet vereist. %OS (letter O, niet nul) parseert de alternatieve weergave van de landinstelling.1 |
%p |
Het equivalent van de landinstelling van de AM/PM-aanduidingen die aan een 12-uurs klok zijn gekoppeld. |
%r |
De 12-uurs kloktijd van de landinstelling. |
%R |
Gelijk aan %H:%M. |
%T |
Gelijk aan "%H:%M:%S". |
%X, %EX |
De tijdweergave van de landinstelling.%EX parseert de tijdweergave van de alternatieve landinstelling.1 |
Maand
| Aanduiding | Beschrijving |
|---|---|
%b, %B, %h |
De volledige of verkorte maandnaam van de landinstelling. Als de waarde geen geldige maand bevat, wordt er een format_error uitzondering gegenereerd.%h is gelijk aan %b. |
%m, %Nm, %Om |
De maand als een decimaal getal. Jan is 1.%
N-m geeft het maximum aantal tekens op dat moet worden gelezen, bijvoorbeeld %3m. Als N- niet is opgegeven, is de standaardwaarde 2.Voorloopnullen zijn toegestaan, maar zijn niet vereist. %Om (letter O, niet nul) interpreteert de alternatieve weergave van de landinstelling.1 |
Jaar
| Aanduiding | Beschrijving |
|---|---|
%C, %NC, %EC |
De eeuw als een decimaal getal.%
N-C geeft het maximum aantal tekens op dat moet worden gelezen, bijvoorbeeld %1N. Als N- niet is opgegeven, is de standaardwaarde 2. Voorloopnullen zijn toegestaan, maar zijn niet vereist.%EC interpreteert de alternatieve weergave van de eeuw van de landinstelling. |
%y, %Ny, %Ey, %Oy |
De laatste twee decimalen van het jaar. Als de eeuw niet anders is opgegeven (bijvoorbeeld met behulp van %C), worden waarden in het bereik [69, 99] geacht te verwijzen naar de jaren 1969 tot 1999, en waarden in het bereik [00, 68] worden geacht te verwijzen naar de jaren 2000 tot 2068.%
N-y geeft het maximum aantal tekens op dat moet worden gelezen. Als N- niet is opgegeven, is de standaardwaarde 2.Voorloopnullen zijn toegestaan, maar zijn niet vereist. %Ey en %Oy (letter O, niet nul) interpreteren de alternatieve weergave van de landinstelling.1 |
%Y, %NY, %EY, |
Het jaar als een decimaal getal. Als het resultaat minder dan vier cijfers is, wordt het links opgevuld met 0 (nul) tot vier cijfers.%
N-Y geeft het maximum aantal tekens op dat moet worden gelezen. Als N- niet is opgegeven, is de standaardwaarde 4.%EY parseert de alternatieve weergave van het volledige jaar van de landinstelling.1 |
ISO 8601 weekgebaseerde jaar
In ISO 8601 beginnen weken met maandag. De eerste week van het jaar moet 4 januari bevatten en de eerste donderdag van het jaar bevatten.
| Aanduiding | Vervanging |
|---|---|
%g%
N-g |
De laatste twee decimale cijfers van het iso-weekjaar. Als het resultaat één cijfer is, wordt dit voorafgegaan door 0 (nul).
%
N-g geeft het maximum aantal tekens op dat moet worden gelezen, bijvoorbeeld %1g. Als N- niet is opgegeven, is de standaardwaarde 2 |
%G%
N-G |
Het ISO-weekjaar als een decimaal getal. Als het resultaat minder dan vier cijfers is, wordt het links opgevuld met 0 (nul) tot vier cijfers.
%
N-G geeft het maximum aantal tekens op dat moet worden gelezen, bijvoorbeeld %1G. Als N- niet is opgegeven, is de standaardwaarde 4 |
%V%OV%
N-V |
Het ISO-weeknummer als een decimaal getal. Als het resultaat één cijfer is, wordt het voorafgegaan door 0 (nul).
%
N-V geeft het maximum aantal tekens op dat moet worden gelezen, bijvoorbeeld %1V. Als N- niet is opgegeven, is de standaardwaarde 2%OV (letter O, niet nul) parseert de alternatieve weergave van de landinstelling.1 |
Algemeen
| Aanduiding | Vervanging |
|---|---|
%% |
Komt overeen met het % teken |
%c%Ec |
De datum- en tijdweergave van de landinstelling.%Ec interpreteert de alternatieve datum- en tijdweergave van de landinstelling.1 |
%n |
Komt overeen met een nieuw regelteken |
%t |
Komt overeen met nul of één witruimteteken |
%z%Ez%Oz |
De verschuiving van UTC in de notatie [+|-]hh[mm].
-0430 verwijst bijvoorbeeld naar 4 uur 30 minuten achter UTC en 04 verwijst naar 4 uur voor UTC.%Ez en %Oz (letter O, niet nul) parseren een : tussen de uren en minuten en geven voorloopnullen weer voor het veld optioneel1: [+|-]h[h][:mm].
-04:30 verwijst bijvoorbeeld naar 4 uur 30 minuten achter UTC en 4 verwijst naar 4 uur voor UTC. |
%Z |
De afkorting of naam van de tijdzone. Eén woord wordt geparseerd. Dit woord mag alleen alfanumerieke tekens uit de basisbrontekenset of een van _, /, -of +bevatten. |
Vlaggen per type
| Klas | Aanduiding/vlag |
|---|---|
day |
d, e |
duration |
j, H, I, M, S, r, R, T, p, (q, Q zijn alleen bedoeld voor indeling, niet parseren) |
file_time |
Z, z, c, x, X, D, F, g, G, j, U, V, W, Y, y, C, b, B, B, m, d, e, a, A, u, w, H, I, M, S, r, R, T, p |
gps_time |
Z, z, c, x, X, D, F, g, G, j, U, V, W, Y, y, C, b, B, B, m, d, e, a, A, u, w, H, I, M, S, r, R, T, p |
hh_mm_ss |
H, I, M, S, r, R, T, p |
local_time |
c, x, X, D, F, g, G, j, U, V, W, Y, y, C, b, h, B, m, d, e, a, A, u, w, H, I, M, S, r, R, T, p |
local_time_format_t |
z, Z, c, x, X, D, F, Y, C, y, b, B, h, m, d, e, a, A, u, w, H, M, S, r, R, T, p, g, G, U, V, W |
local_info |
z, Z |
month |
b, h, B, m |
month_day |
B, d, j, e, b, h, m |
month_day_last |
B, d, j, e, b, h, m |
month_weekday |
b, B, h, m, a, A, u, w |
month_weekday_last |
b, B, h, m, a, A, u, w |
sys_info |
z, Z |
sys_time |
Z, z, c, x, X, D, F, g, G, j, U, V, W, Y, y, C, b, B, B, m, d, e, a, A, u, w, H, I, M, S, r, R, T, p |
tai |
Z, z, c, x, X, D, F, g, G, j, U, V, W, Y, y, C, b, B, B, m, d, e, a, A, u, w, H, I, M, S, r, R, T, p |
utc_time |
Z, z, c, x, X, D, F, g, G, j, U, V, W, Y, y, C, b, B, B, m, d, e, a, A, u, w, H, I, M, S, r, R, T, p |
weekday |
a, A, u, w |
weekday_indexed |
a, A, u, w |
weekday_last |
a, A, u, w |
year |
Y, y, C |
year_month |
Y, y, B, g, G, h, C, b, m |
year_month_day |
D, F, g, G, j, U, V, W, Y, y, C, b, h, B, m, d, e, a, A, u, w |
year_month_day_last |
D, F, g, G, j, U, V, W, Y, y, C, b, h, B, m, d, e, a, A, u, w |
year_month_weekday |
D, F, g, G, j, U, V, W, Y, y, C, b, h, B, m, d, e, a, A, u, w |
year_month_weekday_last |
D, F, g, G, j, U, V, W, Y, y, C, b, h, B, m, d, e, a, A, u, w |
zoned_time |
z, Z, c, x, X, D, F, Y, C, y, b, B, h, m, d, e, a, A, u, w, H, M, S, r, R, T, p, g, G, U, V, W |
1De implementatie is momenteel consistent met strftime- in dat hoewel O (letter O) en e worden geaccepteerd, worden ze genegeerd. Dat wil gezegd, "%Od" wordt geïnterpreteerd als "%d".
get_leap_second_info
Retourneert een leap_second_info voor de opgegeven tijd. Dit geeft informatie over of de opgegeven tijd plaatsvindt tijdens een sprong tweede invoeging. Het biedt ook het aantal schrikkel seconden dat is toegevoegd tussen 1 januari 1970 en de opgegeven tijd. Een sprong tweede invoeging treedt op wanneer de International Earth Rotation and Reference Systems Service (IERS) verklaart dat een schrikkel tweede wordt toegevoegd (wat resulteert in een 61 seconde) om rekening te houden met het verschil tussen atomische tijd en tijd die wordt bijgehouden door de rotatie van de aarde te meten, wat onregelmatig is en geleidelijk vertraagt.
Syntaxis
template<class Duration>
leap_second_info
get_leap_second_info(const utc_time<Duration>& ut); // C++20
Parameters
ut
De bron utc_time om de leap_second_info op te halen.
Retourwaarde
Retourneert een leap_second_info waarvan lid is_leap_second is true als ut zich tijdens een positieve tweede invoegpositie bevindt; anders, false. Het elapsed lid bevat de som van schrikkel seconden tussen de datum van de periode 1970-01-01 en ut. Als is_leap_second is true, wordt de door ut bedoelde schrikkel tweede in de elapsed som opgenomen.
get_tzdb
Hiermee haalt u de eerste vermelding op in de lijst met tijdzonedatabases voor het hele programma.
Syntaxis
const tzdb& get_tzdb(); // C++20
Retourwaarde
Retourneert een verwijzing naar het eerste tzdb-object alsof een aanroep naar get_tzdb_list().front(). Er wordt een runtime_error uitzondering gegenereerd als dit de eerste verwijzing naar de tijdzonedatabase is en de tijdzonedatabase niet kan worden geïnitialiseerd.
Opmerkingen
Als deze nog niet is geïnitialiseerd, initialiseert get_tzdb de tijdzonedatabase voor het hele programma bij eerste toegang. Bij de initialisatie is de database een tzdb_list met één geïnitialiseerd tzdb-object.
get_tzdb_list
Hiermee haalt u de programmabrede singleton-tijdzonedatabase op.
Syntaxis
tzdb_list& get_tzdb_list(); // C++20
Retourwaarde
Retourneert een verwijzing naar het programmabrede tzdb_list-object. Er wordt een runtime_error uitzondering gegenereerd als er geen verwijzing naar een geldig tzdb_list-object kan worden geretourneerd.
Opmerkingen
Als deze nog niet is geïnitialiseerd, initialiseert get_tzdb_list de tijdzonedatabase voor het hele programma bij eerste toegang. Bij de initialisatie is de database een tzdb_list met één geïnitialiseerd tzdb-object. De functie get_tzdb_list is thread-safe.
is_am
Predicaat voor de vraag of het opgegeven uur in het ante-veronderstelm (AM) van de dag valt.
Syntaxis
constexpr bool is_am(const hours& h) noexcept; // C++20
Parameters
h
De bron hours weergave in de tijdnotatie van 24 uur.
Retourwaarde
Retourneert true als 0h <= h && h <= 11h, anders false.
is_pm
Predicaat voor de vraag of het opgegeven uur in het post-opgedeeldem (PM) deel van de dag is.
Syntaxis
constexpr bool is_pm(const hours& h) noexcept; // C++20
Parameters
h
De bron hours weergave in de tijdnotatie van 24 uur.
Retourwaarde
Retourneert true als 12h <= h && h <= 23h, anders false.
locate_zone
Hiermee haalt u een tijdzoneobject op dat is opgegeven met de tijdzonenaam.
Syntaxis
const time_zone* locate_zone(string_view tz_name); // C++20
Parameters
tz_name
De naam van de tijdzone die moet worden geretourneerd.
Retourwaarde
Retourneert een aanwijzer naar een time_zone alsof door een aanroep naar get_tzdb().locate_zone(tz_name). Er wordt een runtime_error uitzondering gegenereerd als de opgegeven tijdzone niet kan worden gevonden of als het de eerste verwijzing naar de tijdzonedatabase is en de tijdzonedatabase niet kan worden geïnitialiseerd.
Opmerkingen
Als deze nog niet is geïnitialiseerd, initialiseert locate_zone de tijdzonedatabase voor het hele programma bij eerste toegang. Bij de initialisatie is de database een tzdb_list met één geïnitialiseerd tzdb-object.
make12
Retourneert het opgegeven uur in de tijdnotatie van 12 uur.
Syntaxis
constexpr hours make12(const hours& h) noexcept; // C++20
Parameters
h
De bron hours weergave in de tijdnotatie van 24 uur.
Retourwaarde
Retourneert het equivalent van 12 uur van h in het bereik [1h, 12h]. De retourwaarde is niet opgegeven als h zich niet in het bereik [0h, 23h]bevindt.
make24
Retourneert het opgegeven uur in de tijdnotatie van 24 uur.
Syntaxis
constexpr hours make24(const hours& h, bool is_pm) noexcept; // C++20
Parameters
h
De bron hours weergave in de tijdnotatie van 12 uur.
is_pm
De bron-hours weergave is PM (indien true) of AM (indien false).
Retourwaarde
Als is_pm is false, retourneert make24 het 24-uurs equivalent van h in het bereik [0h, 11h], ervan uitgaande dat h een UUR vertegenwoordigt. Anders retourneert het 24-uurs equivalent van h in het bereik [12h, 23h], ervan uitgaande dat h een PM-uur vertegenwoordigt. De retourwaarde is niet opgegeven als h zich niet in het bereik [1h, 12h]bevindt.
reload_tzdb
Laadt de tijdzonedatabase opnieuw als bijgewerkte informatie beschikbaar is.
Syntaxis
const tzdb& reload_tzdb();
Retourwaarde
Nadat deze een update van de tijdzonedatabase heeft uitgevoerd, indien van toepassing, retourneert reload_tzdb een verwijzing naar het eerste tzdb-object alsof door een aanroep naar get_tzdb_list().front(). Er wordt een runtime_error uitzondering gegenereerd als er geen verwijzing naar een geldig tzdb-object kan worden geretourneerd.
Opmerkingen
De lokale tijdzonedatabase is de database die wordt opgegeven wanneer het programma de database voor het eerst opent, bijvoorbeeld door een aanroep naar current_zone. Terwijl het programma wordt uitgevoerd, kan de implementatie de tijdzonedatabase bijwerken. De update heeft geen invloed op het programma, tenzij het programma de reload_tzdb functie aanroept. De mogelijk bijgewerkte tijdzonedatabase wordt de externe tijdzonedatabase genoemd.
De functie reload_tzdb controleert de versie van zowel de lokale tijdzonedatabase als de externe tijdzonedatabase. Als de versies van de lokale en externe databases hetzelfde zijn, worden er geen wijzigingen aangebracht. Anders wordt de externe database naar de voorzijde van de tzdb_list gepusht die wordt geopend door get_tzdb_list. Met een update worden geen verwijzingen, verwijzingen of iterators ongeldig. De reload_tzdb-functie is thread-safe voor aanroepen naar get_tzdb_list().front() en get_tzdb_list().erase_after().
remote_version
Hiermee haalt u een tekenreeks op die de meest recente versie van de externe database bevat.
Syntaxis
string remote_version();
Retourwaarde
Retourneert een string die de meest recente versie van de externe database bevat.
round(duration)
Rondt de opgegeven duration af op de dichtstbijzijnde vertegenwoordigbare duration in het doeltype.
Syntaxis
template<class ToDuration, class Rep, class Period>
constexpr ToDuration
round(const duration<Rep, Period>& d); // C++17
Parameters
ToDuration
Het duration doeltype. Beperkt als specialisatie van duration waarbij treat_as_floating_point_v<typename ToDuration::rep> wordt false.
Rep
Het type interne weergave van de bron durationd.
Period
Een std::ratio type dat de verhouding van één seconde aangeeft aan het brontype Rep (dat wil gezegd, seconden per Rep).
d
Het bronobject duration.
Retourwaarde
Retourneert de dichtstbijzijnde duration die in ToDuration aan de parameter dkan worden weergegeven. Ties gaan naar de even waarde, dat wil gezegd, de waarde t waar t % 2 == 0.
Opmerkingen
round neemt niet deel aan overbelastingsresolutie, tenzij het ToDuration type een exemplaar van een durationis en ToDuration een integrale weergave heeft.
round(time_point)
Retourneert het dichtstbijzijnde tijdstip dat in de doel-duration naar het opgegeven tijdspunt kan worden aangegeven.
template<class ToDuration, class Clock, class Duration>
constexpr time_point<Clock, ToDuration>
round(const time_point<Clock, Duration>& tp);
Parameters
ToDuration
Het duration doeltype. Beperkt als specialisatie van duration waarbij treat_as_floating_point_v<typename ToDuration::rep> wordt false.
Clock
Het algemene kloktype van het resultaat en de bronparameter tp.
Duration
Het duration type tp.
tp
Het bronobject time_point.
Retourwaarde
Retourneert het dichtstbijzijnde tijdspunt dat kan worden vertegenwoordigd met behulp van ToDuration om te tp. Ties gaan naar de even waarde, dat wil gezegd, de waarde t waar t % 2 == 0. Effectief, time_point<Clock, ToDuration>(round<ToDuration>(tp.time_since_epoch()));.
Opmerkingen
round neemt niet deel aan overbelastingsresolutie, tenzij het ToDuration type een exemplaar van een durationis.
time_point_cast
Hiermee wordt een time_point object omgezet in een time_point met een ander duration type.
Syntaxis
template <class ToDuration, class Clock, class Duration>
time_point<Clock, ToDuration>
time_point_cast(const time_point<Clock, Duration>& tp); // C++11
Parameters
ToDuration
Het duration doeltype. Beperkt als specialisatie van duration.
Clock
Het algemene kloktype van het resultaat en de bronparameter tp.
Duration
Het duration type tp.
tp
Het time_point-object dat moet worden gecast naar een object met het type ToDuration.
Retourwaarde
Retourneert een time_point-object met een ToDuration type. Effectief, time_point<Clock, ToDuration>(duration_cast<ToDuration>(t.time_since_epoch()));.
Opmerkingen
Tenzij ToDuration een specialisatie van durationis, neemt deze functie niet deel aan overbelastingsresolutie.
Zie ook
<chrono>
chrono letterlijke
chrono operators
duration klasse
time_point klasse
time_zone klasse