Partage via


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 tpsource .

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
SourceClockLe 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 tpsource .

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, , , monthmonth_day, weekdayyear, , 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, wstringpour , pour wchar_t, u16string pour , pour char16_tet 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 nullptrle 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 nullptrle 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.
%Njspé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 1
Les 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 truele 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 falsele 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 tt % 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 tpsource .

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 tt % 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 tpsource .

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