fonctions<chrono>
abs(duration)
Retourne d
si d >= d.zero()
; sinon retourne -d
.
Syntaxe
template <class Rep, class Period>
constexpr duration<Rep, Period> abs(duration<Rep, Period> d ); // C++17
Paramètres
Rep
Type de la représentation interne de la source duration
d
.
Period
Type std::ratio
représentant le rapport d’une seconde au type source Rep
(c’est-à-dire, secondes par Rep
).
d
Objet duration
source.
Valeur retournée
Valeur absolue de d
.
Exemple : abs(duration)
// compile using: /std:c++latest
#include <chrono>
#include <iostream>
int main()
{
std::cout << abs(-24h);
return 0;
}
24h
ceil(duration)
Retourne le plus petit représentant duration
dans le type cible supérieur ou égal à celui spécifié duration
.
Syntaxe
template<class ToDuration, class Rep, class Period>
constexpr ToDuration
ceil(const duration<Rep, Period>& d); // C++17
Paramètres
ToDuration
Type cible duration
. Contrainte en tant que spécialisation de duration
.
Rep
Type de la représentation interne de la source duration
d
.
Period
Type std::ratio
représentant le rapport d’une seconde au type source Rep
(c’est-à-dire, secondes par Rep
).
d
Objet duration
source.
Valeur retournée
Retourne la plus duration
petite représentation dans ToDuration
ce qui est supérieur ou égal au paramètre d
.
Notes
ceil
ne participe pas à la résolution de surcharge, sauf si le ToDuration
type est une instance d’un duration
.
ceil(time_point)
Retourne le point de temps le plus petit pouvant être représenté dans la cible duration
supérieure ou égale au point de temps spécifié.
Syntaxe
template<class ToDuration, class Clock, class Duration>
constexpr time_point<Clock, ToDuration>
ceil(const time_point<Clock, Duration>& t); // C++17
Paramètres
ToDuration
Type cible duration
. Contrainte en tant que spécialisation de duration
.
Clock
Type d’horloge commun du résultat et du paramètre tp
source .
Duration
Type duration
de tp
.
tp
Objet time_point
source.
Valeur retournée
Retourne le point de temps le plus petit pouvant être représenté à l’aide ToDuration
de ce paramètre supérieur ou égal à tp
. Effectivement, time_point<Clock, ToDuration>(ceil<ToDuration>(tp.time_since_epoch()));
.
Notes
ceil
ne participe pas à la résolution de surcharge, sauf si le ToDuration
type est une instance d’un duration
.
clock_cast
Convertit une time_point
horloge pour une time_point
horloge équivalente pour une autre horloge.
Syntaxe
template <class DestClock, class SourceClock, class Duration>
auto clock_cast(const time_point<SourceClock, Duration>& t); // C++20
Paramètres
DestClock
Type d’horloge à convertir time_point
.
Duration
SourceClock
Le duration
ou l’un que vous spécifiez.
SourceClock
Type d’horloge sur lequel la time_point
conversion est basée.
t
time_point
à convertir.
Valeur retournée
Équivalent time_point
à t
, mais spécifique à DestClock
.
Notes
Les paramètres SourceClock
et Duration
peuvent être déduits par le biais d’une déduction d’argument de modèle de classe lorsqu’ils ne sont pas transmis explicitement. Par exemple, donné clock_cast<utc_clock>(file_clock::now())
, SourceClock
est déduit d’être file_clock
, et Duration
est déduit à être file_clock::duration
.
Dans la liste suivante de conversions d’horloges bien formées, celle qui nécessite les plus rares étapes de conversion pour passer de l’horloge SourceClock
à l’horloge DestClock
est sélectionnée.
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)))
Pour plus d’informations sur ce qui clock_time_conversion
se passe, consultez clock_time_conversion
struct.
Exemple 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
Obtient l’objet de fuseau horaire actuel.
Syntaxe
const time_zone* current_zone(); // C++20
Valeur retournée
Retourne un pointeur vers un time_zone
pointeur comme s’il s’agit d’un appel à get_tzdb().current_zone()
. Elle lève une runtime_error
exception s’il s’agit de la première référence à la base de données de fuseau horaire et si la base de données de fuseau horaire ne peut pas être initialisée.
duration_cast
Convertit un duration
type cible duration
spécifié.
Syntaxe
template <class ToDuration, class Rep, class Period>
constexpr ToDuration
duration_cast(const duration<Rep, Period>& d); // C++11
Paramètres
ToDuration
Type cible duration
. Contrainte en tant que spécialisation de duration
.
Rep
Type de la représentation interne de la source duration
d
.
Period
Type std::ratio
représentant le rapport d’une seconde au type source Rep
(c’est-à-dire, secondes par Rep
).
d
Objet source duration
à convertir en type cible duration
.
Valeur retournée
Objet de type ToDuration
qui représente le duration
d
. Il est tronqué si nécessaire pour s’adapter au type cible. Le résultat de la conversion d’un point duration
flottant vers une intégrale duration
n’est pas défini si la source contient un NaN
, un infini ou est trop volumineux pour la représentation dans la cible duration
.
Notes
Vous n’avez pas besoin d’utiliser duration_cast
pour convertir entre les duration
types lorsque la période source est exactement divisible par la période cible, par exemple lorsque vous convertissez des minutes en secondes. En outre, vous n’avez pas besoin de la convertir entre les types à virgule duration
flottante. Vous pouvez effectuer les deux conversions à l’aide de casts ordinaires ou des duration
constructeurs.
duration_cast
ne participe pas à la résolution de surcharge, sauf s’il ToDuration
s’agit d’une instance de duration
. Elle effectue toutes les conversions à l’aide static_cast
de conversions implicites. Les multiplications et les divisions sont évitées si possible. Par exemple, lorsque le compilateur sait que le ratio commun des périodes cibles et sources a un numérateur ou un dénominateur de 1. Les calculs sont effectués dans le type le plus large disponible, puis convertis comme si le static_cast
type de résultat est terminé.
Exemple 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)
Retourne le plus grand représentant duration
dans le type cible inférieur ou égal à celui spécifié duration
.
Syntaxe
template<class ToDuration, class Rep, class Period>
constexpr ToDuration
floor(const duration<Rep, Period>& d); // C++17
Paramètres
ToDuration
Type cible duration
. Contrainte en tant que spécialisation de duration
.
Rep
Type de la représentation interne de la source duration
d
.
Period
Type std::ratio
représentant le rapport d’une seconde au type source Rep
(c’est-à-dire, secondes par Rep
).
d
Objet duration
source.
Valeur retournée
Retourne le plus duration
grand représentant dans ToDuration
ce qui est inférieur ou égal au paramètre d
.
Notes
floor
ne participe pas à la résolution de surcharge, sauf si le ToDuration
type est une instance d’un duration
.
floor(time_point)
Retourne le point de temps le plus grand pouvant être représenté dans la cible duration
inférieure ou égale au point de temps spécifié.
Syntaxe
template<class ToDuration, class Clock, class Duration>
constexpr time_point<Clock, ToDuration>
floor(const time_point<Clock, Duration>& tp); // C++17
Paramètres
ToDuration
Type cible duration
. Contrainte en tant que spécialisation de duration
.
Clock
Type d’horloge commun du résultat et du paramètre tp
source .
Duration
Type duration
de tp
.
tp
Objet time_point
source.
Valeur retournée
Retourne le point de temps le plus important pouvant être représenté à l’aide ToDuration
de ce paramètre inférieur ou égal à tp
. Effectivement, time_point<Clock, ToDuration>(floor<ToDuration>(tp.time_since_epoch()));
.
Notes
floor
ne participe pas à la résolution de surcharge, sauf si le ToDuration
type est une instance d’un duration
.
from_stream
Analysez le flux d’entrée dans l’un std::chrono
des types de temps ou d’intervalle tels que day
, , , month
month_day
, weekday
year
, , year_month
, year_month_day
, etc. à l’aide du format spécifié.
Si l’analyse échoue, is.setstate
(ios_base::failbit
) est appelée et le paramètre de sortie n’est pas modifié.
// 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);
Paramètres de modèle
Alloc
Type qui représente l’objet allocator qui gère l’allocation et la désallocation de la mémoire de la chaîne.
charT
Type de données d’un caractère unique à lire à partir du flux et stocké dans la chaîne. La bibliothèque standard C++ fournit des spécialisations de ce modèle de classe, avec les définitions string
de type pour les éléments de type char
, wstring
pour , pour wchar_t
, u16string
pour , pour char16_t
et u32string
pour char32_t
.
traits
Décrit charT
les attributs pour la spécialisation et basic_istream
la basic_string
spécialisation.
Rep
Type de représentation interne d’un duration
type.
Period
Type std::ratio
représentant le rapport d’une seconde au type source Rep
(c’est-à-dire, secondes par Rep
).
Duration
Type duration
utilisé pour la spécialisation temporelle.
Paramètres
abbrev
Si abbrev
ce n’est pas nullptr
le cas, et que le spécificateur %Z
de format est spécifié et que l’analyse réussit, elle abbrev
contient la valeur analysée.
d
Si l’analyse réussit, contient le jour analysé lorsque la fonction est retournée.
dur
Analysé duration
à partir du flux.
fmt
Chaîne de format utilisée pour correspondre à l’entrée. Consultez les chaînes de format d’analyse pour obtenir la liste des options de mise en forme de l’analyse.
ft
Analysé file_time
à partir du flux.
gt
Analysé gps_time
à partir du flux.
is
Flux d’entrée à analyser.
lt
Analysé local_time
à partir du flux.
m
Analysé month
à partir du flux.
md
Analysé month_day
à partir du flux.
offset
Si offset
ce n’est pas nullptr
le cas, et que le spécificateur %z
de format ou la variante modifiée tel que %Ez
ou %0z
est spécifié, et que l’analyse réussit, pointe offset
vers la valeur analysée.
st
Analysé sys_time
à partir du flux.
tt
Analysé tai_time
à partir du flux.
ut
Analysé utc_time
à partir du flux.
wd
Analysé weekday
à partir du flux.
y
Analysé year
à partir du flux.
ym
Analysé year_month
à partir du flux.
ymd
Analysé year_month_day
à partir du flux.
Valeur retournée
Flux d’entrée, is
Exemple : 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
Notes
7) Si %Z
elle est utilisée et analysée avec succès, cette valeur est affectée *abbrev
si abbrev
elle n’est pas null. Si %z
(ou une variante modifiée) est utilisé et analysé avec succès, cette valeur est affectée *offset
si offset
elle n’est pas null.
12) Si %Z
elle est utilisée et correctement analysée, cette valeur est affectée *abbrev
si abbrev
elle n’est pas null. Si %z
(ou une variante modifiée) est utilisé et analysé avec succès, cette valeur est affectée *offset
si offset
elle n’est pas null.
from_stream
chaînes de format
Le format peut être l’une des chaînes suivantes :
Date
Spécificateur | Description |
---|---|
%D |
Équivaut à %m/%d/%y . |
%F % NF |
Équivaut à %Y-%m-%d . Si elle est modifiée avec une largeur N , la largeur est appliquée uniquement %Y à . |
%x %Ex |
Représentation de date des paramètres régionaux.%Ex analyse la représentation de date alternative des paramètres régionaux.1 |
Day
Spécificateur | Description |
---|---|
%d %Od % Nd %e %Oe % Ne |
Jour du mois sous forme de nombre décimal.% Nd spécifie le nombre maximal de caractères à lire, par exemple %1d . Si N n’est pas spécifié, la valeur par défaut est 2.Les zéros non significatifs sont autorisés, mais pas obligatoires. %Od (lettre O , pas zéro) interprète la représentation alternative des paramètres régionaux du jour du mois.1 %e équivaut à %d et peut être modifié comme %d .1 |
Jour de la semaine
Spécificateur | Description |
---|---|
%a %A |
Nom complet ou abrégé de la semaine sans respect de la casse des paramètres régionaux.%A équivaut à %a |
%u % Nu |
Le jour de la semaine ISO sous forme de nombre décimal (1 à 7), où le lundi est 1. % Nu spécifie le nombre maximal de caractères à lire, par exemple %2u . Si N n’est pas spécifié, la valeur par défaut est 1. Les zéros non significatifs sont autorisés, mais pas obligatoires. |
%w % Nw %Ow |
Le jour de la semaine sous la forme d’un nombre décimal (0-6), où le dimanche est 0.% Nw spécifie le nombre maximal de caractères à lire, par exemple %2w . Si N n’est pas spécifié, la valeur par défaut est 1.Les zéros non significatifs sont autorisés, mais pas obligatoires. %Ow (lettre O , pas zéro) interprète la représentation alternative des paramètres régionaux.1 |
Semaine/jour de l’année
Spécificateur | Description |
---|---|
%j % Nj |
Si le type mis en forme est une spécialisation de durée, le nombre décimal de jours sans remplissage. Sinon, le jour de l’année sous forme de nombre décimal. Jan 1 est 001 . Si le résultat est inférieur à trois chiffres, il est à gauche avec 0 (zéro) à trois chiffres.% Nj spécifie le nombre maximal de caractères à lire, par exemple %2j . Si N n’est pas spécifié, la valeur par défaut est 3. Les chiffres de début sont autorisés, mais ne sont pas obligatoires. |
%U % NU %OU |
Numéro de semaine de l’année sous forme de nombre décimal. Le premier dimanche de l’année est le premier jour de la semaine 01 . Les jours de la même année avant cette semaine sont en semaine 00 . Si le résultat est un chiffre unique, il est précédé de 0 (zéro).% NU spécifie le nombre maximal de caractères à lire, par exemple %2U . Si N n’est pas spécifié, la valeur par défaut est 2.Les zéros non significatifs sont autorisés, mais pas obligatoires. %OU (lettre O , pas zéro) analyse la représentation alternative des paramètres régionaux.1 |
%W % NW %OW |
Numéro de semaine de l’année sous forme de nombre décimal. Le premier lundi de l’année est le premier jour de la semaine 01 . Les jours de la même année avant cette semaine sont en semaine 00 .Si le résultat est un chiffre unique, il est précédé de 0 (zéro).% NW spécifie le nombre maximal de caractères à lire, par exemple %2W . Si N n’est pas spécifié, la valeur par défaut est 1Les zéros non significatifs sont autorisés, mais pas obligatoires. %OW (lettre O , pas zéro) analyse la représentation alternative des paramètres régionaux.1 |
Heure de la journée
Spécificateur | Description |
---|---|
%H % NH %OH |
Heure (horloge de 24 heures) en tant que nombre décimal. Si le résultat est un chiffre unique, il est précédé d’un 0 (zéro).% NH spécifie le nombre maximal de caractères à lire, par exemple %1H . Si N n’est pas spécifié, la valeur par défaut est 2.Les zéros non significatifs sont autorisés, mais pas obligatoires. %OH (lettre O , pas zéro) analyse la représentation alternative des paramètres régionaux.1 |
%I % NI %OI |
Heure (horloge de 12 heures) en tant que nombre décimal. Si le résultat est un chiffre unique, il est précédé de 0 (zéro).% NI spécifie le nombre maximal de caractères à lire, par exemple %1I . Si N n’est pas spécifié, la valeur par défaut est 2.Les zéros non significatifs sont autorisés, mais pas obligatoires. %OI (lettre O , pas zéro) analyse la représentation alternative des paramètres régionaux.1 |
%M % NM %OM |
Minutes sous forme de nombre décimal. Si le résultat est un chiffre unique, il est précédé de 0 (zéro).% NM spécifie le nombre maximal de caractères à lire, par exemple %3M . Si N n’est pas spécifié, la valeur par défaut est 2.Les zéros non significatifs sont autorisés, mais pas obligatoires. %OM (lettre O , pas zéro) analyse la représentation alternative des paramètres régionaux.1 |
%S % NS %OS |
Secondes sous forme de nombre décimal. Si le nombre de secondes est inférieur à 10, le résultat est précédé de 0 (zéro). Si la précision de l’entrée ne peut pas être représentée exactement par secondes, le format est un nombre à virgule flottante décimale avec un format fixe. Elle a une précision de microsecondes si la fonction ne peut pas convertir les décimales à virgule flottante dans 18 chiffres fractionnaires. Sinon, sa précision correspond à la précision de l’entrée. Le caractère du point décimal est localisé en fonction des paramètres régionaux.% NS spécifie le nombre maximal de caractères à lire, par exemple %3S . Si N n’est pas spécifié, la valeur par défaut est 2.Les zéros non significatifs sont autorisés, mais pas obligatoires. %OS (lettre O , pas zéro) analyse la représentation alternative des paramètres régionaux.1 |
%p |
Équivalent des paramètres régionaux des désignations AM/PM associées à une horloge de 12 heures. |
%r |
Heure d’horloge de 12 heures des paramètres régionaux. |
%R |
Équivaut à %H:%M . |
%T |
Équivaut à "%H:%M:%S" . |
%X , %EX |
Représentation temporelle des paramètres régionaux.%EX analyse la représentation temporelle des autres paramètres régionaux.1 |
Month
Spécificateur | Description |
---|---|
%b , , %B %h |
Nom complet ou abrégé du mois. Si la valeur ne contient pas de mois valide, une format_error exception est levée.%h est équivalent à %b . |
%m , % Nm , %Om |
Mois sous forme de nombre décimal. Jan est 1.% Nm spécifie le nombre maximal de caractères à lire, par exemple %3m . Si N n’est pas spécifié, la valeur par défaut est 2.Les zéros non significatifs sont autorisés, mais pas obligatoires. %Om (lettre O , pas zéro) interprète la représentation alternative des paramètres régionaux.1 |
Year
Spécificateur | Description |
---|---|
%C , % NC , %EC |
Le siècle en tant que nombre décimal.% NC spécifie le nombre maximal de caractères à lire, par exemple %1N . Si N n’est pas spécifié, la valeur par défaut est 2. Les zéros non significatifs sont autorisés, mais pas obligatoires.%EC interprète la représentation alternative des paramètres régionaux du siècle. |
%y , % Ny , %Ey , , %Oy |
Les deux derniers chiffres décimaux de l’année. Si le siècle n’est pas spécifié (par exemple, en utilisant %C ), les valeurs de la plage [69, 99] sont supposées faire référence aux années 1969 à 1999, et les valeurs de la plage [00, 68] sont supposées faire référence aux années 2000 à 2068.% Ny spécifie le nombre maximal de caractères à lire. Si N n’est pas spécifié, la valeur par défaut est 2.Les zéros non significatifs sont autorisés, mais pas obligatoires. %Ey et %Oy (lettre O , pas zéro) interprètent la représentation alternative des paramètres régionaux.1 |
%Y , % NY , %EY , , |
Année sous forme de nombre décimal. Si le résultat est inférieur à quatre chiffres, il est à gauche avec 0 (zéro) à quatre chiffres.% NY spécifie le nombre maximal de caractères à lire. Si N n’est pas spécifié, la valeur par défaut est 4.%EY analyse la représentation complète de l’année alternative des paramètres régionaux.1 |
Année iso 8601 hebdomadaire
Dans ISO 8601, les semaines commencent par lundi. La première semaine de l’année doit inclure le 4 janvier et inclure le premier jeudi de l’année.
Spécificateur | Remplacement |
---|---|
%g % Ng |
Les deux derniers chiffres décimaux de l’année iso par semaine. Si le résultat est un chiffre unique, est préfixé par 0 (zéro). % Ng spécifie le nombre maximal de caractères à lire, par exemple %1g . Si N n’est pas spécifié, la valeur par défaut est 2 |
%G % NG |
Année de la semaine ISO sous la forme d’un nombre décimal. Si le résultat est inférieur à quatre chiffres, il est à gauche avec 0 (zéro) à quatre chiffres. % NG spécifie le nombre maximal de caractères à lire, par exemple %1G . Si N n’est pas spécifié, la valeur par défaut est 4 |
%V %OV % NV |
Numéro de semaine ISO en tant que nombre décimal. Si le résultat est un chiffre unique, il est précédé de 0 (zéro). % NV spécifie le nombre maximal de caractères à lire, par exemple %1V . Si N n’est pas spécifié, la valeur par défaut est 2%OV (lettre O , pas zéro) analyse la représentation alternative des paramètres régionaux.1 |
Général
Spécificateur | Remplacement |
---|---|
%% |
Correspond au caractère % |
%c %Ec |
Représentation de date et d’heure des paramètres régionaux.%Ec interprète la représentation de date et d’heure de remplacement des paramètres régionaux.1 |
%n |
Correspond à un caractère de nouvelle ligne |
%t |
Correspond à zéro ou à un caractère d’espace blanc |
%z %Ez %Oz |
Décalage par rapport à UTC au format [+|-]hh[mm] . Par exemple, -0430 fait référence à 4 heures 30 minutes derrière UTC et 04 fait référence à 4 heures avant l’heure UTC.%Ez et %Oz (lettre O , pas zéro) analysent une : valeur comprise entre les heures et les minutes et affichent les zéros non significatifs sur le champ d’heure facultatif1 : [+|-]h[h][:mm] . Par exemple, -04:30 fait référence à 4 heures 30 minutes derrière UTC, et 4 fait référence à 4 heures avant UTC. |
%Z |
Abréviation ou nom du fuseau horaire. Un seul mot est analysé. Ce mot ne peut contenir que des caractères alphanumériques à partir du jeu de caractères source de base, ou l’un des _ éléments , / ou - + . |
Indicateurs par type
Classe | Spécificateur/indicateur |
---|---|
day |
d, e |
duration |
j, H, I, M, S, r, R, T, p, (q, Q sont uniquement pour le format, pas l’analyse) |
file_time |
Z, z, 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 |
gps_time |
Z, z, 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 |
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, I, 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, h, 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, h, 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, h, 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, I, M, S, r, R, T, p, g, G, U, V, W |
1L’implémentation est actuellement cohérente avec strftime dans ce cas même si O
(lettre O) et e
sont acceptées, elles sont ignorées. C’est-à-dire "%Od"
qu’il est interprété comme "%d"
.
get_leap_second_info
Retourne une leap_second_info
valeur pour l’heure spécifiée. Cela fournit des informations sur la question de savoir si le temps fourni se produit pendant une seconde insertion de saut. Il fournit également le nombre de secondes de saut qui ont été ajoutées entre le 1er janvier 1970 et l’heure spécifiée. Une deuxième insertion de saut se produit lorsque l’International Earth Rotation and Reference Systems Service (IERS) déclare qu’une seconde bissextile sera ajoutée (entraînant une minute de 61 secondes) pour tenir compte de la différence entre le temps atomique et le temps suivi en mesurant la rotation de la terre, qui est irrégulière, et est progressivement ralentie.
Syntaxe
template<class Duration>
leap_second_info
get_leap_second_info(const utc_time<Duration>& ut); // C++20
Paramètres
ut
Source utc_time
pour obtenir le leap_second_info
for.
Valeur retournée
Retourne un leap_second_info
membre dont le membre is_leap_second
est true
lors ut
d’une insertion de seconde saut positive ; sinon, false
. Le elapsed
membre contient la somme des secondes de saut entre la date 1970-01-01
d’époque et ut
. Si is_leap_second
c’est true
le cas, la seconde bissextile référencée par ut
est incluse dans la elapsed
somme.
get_tzdb
Obtient la première entrée dans la liste des bases de données de fuseau horaire à l’échelle du programme.
Syntaxe
const tzdb& get_tzdb(); // C++20
Valeur retournée
Retourne une référence au premier tzdb
objet comme s’il s’agit d’un appel à get_tzdb_list().front()
. Elle lève une runtime_error
exception s’il s’agit de la première référence à la base de données de fuseau horaire et si la base de données de fuseau horaire ne peut pas être initialisée.
Notes
S’il n’a pas encore été initialisé, get_tzdb
initialise la base de données de fuseau horaire à l’échelle du programme sur le premier accès. Lors de l’initialisation, la base de données est un tzdb_list
objet initialisé tzdb
unique.
get_tzdb_list
Obtient la base de données de fuseau horaire singleton à l’échelle du programme.
Syntaxe
tzdb_list& get_tzdb_list(); // C++20
Valeur retournée
Retourne une référence à l’objet à l’échelle tzdb_list
du programme. Elle lève une runtime_error
exception si elle ne peut pas retourner une référence à un objet valide tzdb_list
.
Notes
S’il n’a pas encore été initialisé, get_tzdb_list
initialise la base de données de fuseau horaire à l’échelle du programme sur le premier accès. Lors de l’initialisation, la base de données est un tzdb_list
objet initialisé tzdb
unique. La get_tzdb_list
fonction est thread-safe.
is_am
Prédicat pour déterminer si l’heure spécifiée se trouve dans la partie ante-meridiem (AM) de la journée.
Syntaxe
constexpr bool is_am(const hours& h) noexcept; // C++20
Paramètres
h
Représentation source hours
en notation de temps de 24 heures.
Valeur retournée
Retourne true
si 0h <= h && h <= 11h
, sinon false
.
is_pm
Prédicat pour déterminer si l’heure spécifiée se trouve dans la partie post-meridiem (PM) de la journée.
Syntaxe
constexpr bool is_pm(const hours& h) noexcept; // C++20
Paramètres
h
Représentation source hours
en notation de temps de 24 heures.
Valeur retournée
Retourne true
si 12h <= h && h <= 23h
, sinon false
.
locate_zone
Obtient un objet de fuseau horaire spécifié par le nom du fuseau horaire.
Syntaxe
const time_zone* locate_zone(string_view tz_name); // C++20
Paramètres
tz_name
Nom du fuseau horaire à retourner.
Valeur retournée
Retourne un pointeur vers un time_zone
pointeur comme s’il s’agit d’un appel à get_tzdb().locate_zone(tz_name)
. Il lève une runtime_error
exception s’il ne peut pas trouver le fuseau horaire spécifié, ou s’il s’agit de la première référence à la base de données de fuseau horaire et que la base de données de fuseau horaire ne peut pas être initialisée.
Notes
S’il n’a pas encore été initialisé, locate_zone
initialise la base de données de fuseau horaire à l’échelle du programme sur le premier accès. Lors de l’initialisation, la base de données est un tzdb_list
objet initialisé tzdb
unique.
make12
Retourne l’heure spécifiée en notation de temps de 12 heures.
Syntaxe
constexpr hours make12(const hours& h) noexcept; // C++20
Paramètres
h
Représentation source hours
en notation de temps de 24 heures.
Valeur retournée
Retourne l’équivalent de 12 heures de h
la plage [1h, 12h]
. La valeur de retour n’est pas spécifiée si h
elle n’est pas dans la plage [0h, 23h]
.
make24
Retourne l’heure spécifiée en notation de temps de 24 heures.
Syntaxe
constexpr hours make24(const hours& h, bool is_pm) noexcept; // C++20
Paramètres
h
Représentation source hours
en notation de temps de 12 heures.
is_pm
La représentation source hours
est PM (if true
) ou AM (if false
).
Valeur retournée
Si is_pm
c’est false
le cas, make24
retourne l’équivalent de 24 heures dans h
la plage [0h, 11h]
, en supposant que h
représente une heure AM. Sinon, elle retourne l’équivalent de 24 heures dans h
la plage [12h, 23h]
, en supposant qu’il h
représente une heure pm. La valeur de retour n’est pas spécifiée si h
elle n’est pas dans la plage [1h, 12h]
.
reload_tzdb
Recharge la base de données de fuseau horaire si des informations mises à jour sont disponibles.
Syntaxe
const tzdb& reload_tzdb();
Valeur retournée
Après avoir mis à jour une base de données de fuseau horaire, le cas échéant, reload_tzdb
retourne une référence au premier tzdb
objet comme si par un appel à get_tzdb_list().front()
. Elle lève une runtime_error
exception si elle ne peut pas retourner une référence à un objet valide tzdb
.
Notes
La base de données de fuseau horaire local est celle fournie lorsque le programme accède d’abord à la base de données, par exemple par un appel à current_zone
. Pendant l’exécution du programme, l’implémentation peut mettre à jour la base de données de fuseau horaire. La mise à jour n’affecte pas le programme de quelque manière que ce soit, sauf si le programme appelle la reload_tzdb
fonction. La base de données de fuseau horaire potentiellement mise à jour est appelée base de données de fuseau horaire distant .
La reload_tzdb
fonction vérifie la version de la base de données de fuseau horaire local et de la base de données de fuseau horaire distant. Si les versions des bases de données locales et distantes sont identiques, aucune modification n’est apportée. Sinon, la base de données distante est envoyée à l’avant de l’accès tzdb_list
par get_tzdb_list
. Une mise à jour n’invalide aucun pointeur, référence ou itérateur. La reload_tzdb
fonction est thread-safe pour les appels à get_tzdb_list().front()
et get_tzdb_list().erase_after()
.
remote_version
Obtient une chaîne qui contient la dernière version de la base de données distante.
Syntaxe
string remote_version();
Valeur retournée
Retourne une string
valeur qui contient la dernière version de la base de données distante.
round(duration)
Arrondit la valeur spécifiée duration
à la représentation duration
la plus proche dans le type cible.
Syntaxe
template<class ToDuration, class Rep, class Period>
constexpr ToDuration
round(const duration<Rep, Period>& d); // C++17
Paramètres
ToDuration
Type cible duration
. Contrainte en tant que spécialisation de l’emplacement duration
treat_as_floating_point_v<typename ToDuration::rep>
false
.
Rep
Type de la représentation interne de la source duration
d
.
Period
Type std::ratio
représentant le rapport d’une seconde au type source Rep
(c’est-à-dire, secondes par Rep
).
d
Objet duration
source.
Valeur retournée
Retourne la représentation la plus duration
proche dans ToDuration
le paramètre d
. Les liens vont à la valeur même, c’est-à-dire la valeur t
où t % 2 == 0
.
Notes
round
ne participe pas à la résolution de surcharge, sauf si le ToDuration
type est une instance d’un duration
, et ToDuration
a une représentation intégrale.
round(time_point)
Retourne le point de temps le plus proche pouvant être représenté dans la cible duration
au point de temps spécifié.
template<class ToDuration, class Clock, class Duration>
constexpr time_point<Clock, ToDuration>
round(const time_point<Clock, Duration>& tp);
Paramètres
ToDuration
Type cible duration
. Contrainte en tant que spécialisation de l’emplacement duration
treat_as_floating_point_v<typename ToDuration::rep>
false
.
Clock
Type d’horloge commun du résultat et du paramètre tp
source .
Duration
Type duration
de tp
.
tp
Objet time_point
source.
Valeur retournée
Retourne le point de temps le plus proche pouvant être représenté à l’aide ToDuration
de tp
. Les liens vont à la valeur même, c’est-à-dire la valeur t
où t % 2 == 0
. Effectivement, time_point<Clock, ToDuration>(round<ToDuration>(tp.time_since_epoch()));
.
Notes
round
ne participe pas à la résolution de surcharge, sauf si le ToDuration
type est une instance d’un duration
.
time_point_cast
Convertit un time_point
objet en un time_point
type différent duration
.
Syntaxe
template <class ToDuration, class Clock, class Duration>
time_point<Clock, ToDuration>
time_point_cast(const time_point<Clock, Duration>& tp); // C++11
Paramètres
ToDuration
Type cible duration
. Contrainte en tant que spécialisation de duration
.
Clock
Type d’horloge commun du résultat et du paramètre tp
source .
Duration
Type duration
de tp
.
tp
Objet time_point
à convertir en un qui a le ToDuration
type.
Valeur retournée
Retourne un time_point
objet qui a un ToDuration
type. Effectivement, time_point<Clock, ToDuration>(duration_cast<ToDuration>(t.time_since_epoch()));
.
Notes
Sauf s’il s’agit ToDuration
d’une spécialisation de duration
, cette fonction ne participe pas à la résolution de surcharge.
Voir aussi
<chrono>
chrono
Littéraux
chrono
, opérateurs
duration
, classe
time_point
, classe
time_zone
, classe