std:: wcsftime
|
Défini dans l'en-tête
<cwchar>
|
||
|
std::
size_t
wcsftime
(
wchar_t
*
str,
std::
size_t
count,
const
wchar_t
*
format,
const
std::
tm
*
time
)
;
|
||
Convertit les informations de date et d'heure d'un temps calendaire donné time en une chaîne de caractères larges terminée par un caractère nul str selon la chaîne de format format . Jusqu'à count caractères larges sont écrits.
Table des matières |
Paramètres
| str | - | pointeur vers le premier élément du wchar_t tableau pour la sortie |
| count | - | nombre maximum de caractères larges à écrire |
| format | - | pointeur vers une chaîne de caractères larges terminée par un caractère nul spécifiant le format de conversion |
| time | - | pointeur vers les informations de date et heure à convertir |
Chaîne de format
La chaîne de format est constituée de zéro ou plusieurs spécificateurs de conversion et de caractères ordinaires (à l'exception de
%
). Tous les caractères ordinaires, y compris le caractère nul de fin, sont copiés dans la chaîne de sortie sans modification. Chaque spécification de conversion commence par le caractère
%
, éventuellement suivi du modificateur
E
ou
O
(ignoré s'il n'est pas pris en charge par les paramètres régionaux), suivi du caractère qui détermine le comportement du spécificateur. Les spécificateurs de format suivants sont disponibles :
|
Spécificateur
de conversion |
Explication | Champs utilisés |
|---|---|---|
%
|
écrit le caractère littéral
%
. La spécification de conversion complète doit être
%%
.
|
|
n
(C++11) |
écrit un caractère de nouvelle ligne | |
t
(C++11) |
écrit le caractère de tabulation horizontale | |
| Année | ||
Y
|
écrit l' année sous forme de nombre décimal, par exemple 2017 |
tm_year
|
EY
(C++11) |
écrit l' année dans la représentation alternative, par ex. 平成23年 (année Heisei 23) au lieu de 2011年 (année 2011) dans les paramètres régionaux ja_JP |
tm_year
|
y
|
écrit les 2 derniers chiffres de l'
année
sous forme de nombre décimal (plage
[00,99]
)
|
tm_year
|
Oy
(C++11) |
écrit les 2 derniers chiffres de l' année en utilisant le système numérique alternatif, par exemple 十一 au lieu de 11 dans la locale ja_JP |
tm_year
|
Ey
(C++11) |
écrit l'
année
comme décalage depuis la période du calendrier alternatif de la locale
%EC
(dépendant de la locale)
|
tm_year
|
C
(C++11) |
écrit les 2 premiers chiffres de
l'année
sous forme de nombre décimal (plage
[00,99]
)
|
tm_year
|
EC
(C++11) |
écrit le nom de l'année de base (période) dans la représentation alternative de la locale, par exemple 平成 (ère Heisei) en ja_JP |
tm_year
|
G
(C++11) |
écrit
l'année basée sur les semaines ISO 8601
, c'est-à-dire l'année qui contient la semaine spécifiée.
Dans la norme ISO 8601, les semaines commencent le lundi et la première semaine de l'année doit satisfaire aux exigences suivantes :
|
tm_year
,
tm_wday
,
tm_yday
|
g
(C++11) |
écrit les 2 derniers chiffres de
l'année ISO 8601 basée sur les semaines
, c'est-à-dire l'année qui contient la semaine spécifiée (plage
[00,99]
).
Dans la norme ISO 8601, les semaines commencent le lundi et la première semaine de l'année doit satisfaire aux exigences suivantes :
|
tm_year
,
tm_wday
,
tm_yday
|
| Mois | ||
b
|
écrit le
nom abrégé du mois
, par ex.
Oct
(dépendant des paramètres régionaux)
|
tm_mon
|
h
(C++11) |
synonyme de
b
|
tm_mon
|
B
|
écrit le
nom complet du mois
, par ex.
October
(dépendant des paramètres régionaux)
|
tm_mon
|
m
|
écrit le
mois
sous forme de nombre décimal (plage
[01,12]
)
|
tm_mon
|
Om
(C++11) |
écrit le mois en utilisant le système numérique alternatif, par exemple 十二 au lieu de 12 dans la locale ja_JP |
tm_mon
|
| Semaine | ||
U
|
écrit la
semaine de l'année
sous forme de nombre décimal (le dimanche est le premier jour de la semaine) (plage
[00,53]
)
|
tm_year
,
tm_wday
,
tm_yday
|
OU
(C++11) |
écrit
la semaine de l'année
, comme par
%U
, en utilisant le système numérique alternatif, par exemple 五十二 au lieu de 52 dans les paramètres régionaux ja_JP
|
tm_year
,
tm_wday
,
tm_yday
|
W
|
écrit la
semaine de l'année
sous forme de nombre décimal (le lundi est le premier jour de la semaine) (plage
[00,53]
)
|
tm_year
,
tm_wday
,
tm_yday
|
OW
(C++11) |
écrit
la semaine de l'année
, comme par
%W
, en utilisant le système numérique alternatif, par exemple 五十二 au lieu de 52 dans les paramètres régionaux ja_JP
|
tm_year
,
tm_wday
,
tm_yday
|
V
(C++11) |
écrit
la semaine ISO 8601 de l'année
(plage
[01,53]
).
Dans la norme ISO 8601, les semaines commencent le lundi et la première semaine de l'année doit satisfaire aux exigences suivantes :
|
tm_year
,
tm_wday
,
tm_yday
|
OV
(C++11) |
écrit
la semaine de l'année
, comme par
%V
, en utilisant le système numérique alternatif, par exemple 五十二 au lieu de 52 dans les paramètres régionaux ja_JP
|
tm_year
,
tm_wday
,
tm_yday
|
| Jour de l'année/mois | ||
j
|
écrit le
jour de l'année
sous forme de nombre décimal (plage
[001,366]
)
|
tm_yday
|
d
|
écrit le
jour du mois
sous forme de nombre décimal (plage
[01,31]
)
|
tm_mday
|
Od
(C++11) |
écrit le
jour du mois
en base zéro en utilisant le système numérique alternatif, par exemple 二十七 au lieu de 27 dans la locale ja_JP
Un caractère unique est précédé d'un espace. |
tm_mday
|
e
(C++11) |
écrit le
jour du mois
sous forme de nombre décimal (plage
[1,31]
).
Un chiffre unique est précédé d'un espace. |
tm_mday
|
Oe
(C++11) |
écrit le
jour du mois
en utilisant la numérotation un-basée et le système numérique alternatif, par exemple 二十七 au lieu de 27 dans la locale ja_JP
Un caractère unique est précédé d'un espace. |
tm_mday
|
| Jour de la semaine | ||
a
|
écrit le nom
abrégé du jour de la semaine
, par ex.
Fri
(dépendant des paramètres régionaux)
|
tm_wday
|
A
|
écrit le nom
complet du jour de la semaine
, par ex.
Friday
(dépendant des paramètres régionaux)
|
tm_wday
|
w
|
écrit le
jour de la semaine
sous forme de nombre décimal, où dimanche est
0
(plage
[0-6]
)
|
tm_wday
|
Ow
(C++11) |
écrit
weekday
, où dimanche est
0
, en utilisant le système numérique alternatif, par exemple 二 au lieu de 2 dans les paramètres régionaux ja_JP
|
tm_wday
|
u
(C++11) |
écrit le
jour de la semaine
sous forme de nombre décimal, où lundi est
1
(format ISO 8601) (plage
[1-7]
)
|
tm_wday
|
Ou
(C++11) |
écrit
weekday
, où lundi est
1
, en utilisant le système numérique alternatif, par exemple 二 au lieu de 2 dans les paramètres régionaux ja_JP
|
tm_wday
|
| Heure, minute, seconde | ||
H
|
écrit
l'heure
sous forme de nombre décimal, horloge 24 heures (plage
[00-23]
)
|
tm_hour
|
OH
(C++11) |
écrit l'heure à partir de l'horloge 24 heures en utilisant le système numérique alternatif, par exemple 十八 au lieu de 18 dans les paramètres régionaux ja_JP |
tm_hour
|
I
|
écrit
hour
sous forme de nombre décimal, horloge 12 heures (plage
[01,12]
)
|
tm_hour
|
OI
(C++11) |
écrit l'heure à partir de l'horloge 12 heures en utilisant le système numérique alternatif, par exemple 六 au lieu de 06 dans la locale ja_JP |
tm_hour
|
M
|
écrit la
minute
sous forme de nombre décimal (plage
[00,59]
)
|
tm_min
|
OM
(C++11) |
écrit la minute en utilisant le système numérique alternatif, par exemple 二十五 au lieu de 25 dans la locale ja_JP |
tm_min
|
S
|
écrit la
seconde
sous forme de nombre décimal (plage
[00,60]
)
|
tm_sec
|
OS
(C++11) |
écrit second en utilisant le système numérique alternatif, par exemple 二十四 au lieu de 24 dans la locale ja_JP |
tm_sec
|
| Autre | ||
c
|
écrit
la chaîne standard de date et heure
, par ex.
Sun Oct 17 04:41:13 2010
(dépendant des paramètres régionaux)
|
tous |
Ec
(C++11) |
écrit une chaîne de date et heure alternative , par exemple en utilisant 平成23年 (année Heisei 23) au lieu de 2011年 (année 2011) dans les paramètres régionaux ja_JP | tous |
x
|
écrit la représentation de date localisée (dépendante de la locale) | tous |
Ex
(C++11) |
écrit une représentation de date alternative , par exemple en utilisant 平成23年 (année Heisei 23) au lieu de 2011年 (année 2011) dans les paramètres régionaux ja_JP | tous |
X
|
écrit la représentation horaire localisée , par exemple 18:40:20 ou 6:40:20 PM (dépendant des paramètres régionaux) | tous |
EX
(C++11) |
écrit la représentation temporelle alternative (dépendante de la locale) | tous |
D
(C++11) |
équivalent à "%m/%d/%y" |
tm_mon
,
tm_mday
,
tm_year
|
F
(C++11) |
équivalent à "%Y-%m-%d" (le format de date ISO 8601) |
tm_mon
,
tm_mday
,
tm_year
|
r
(C++11) |
écrit l'heure au format 12 heures localisée (dépendante de la locale) |
tm_hour
,
tm_min
,
tm_sec
|
R
(C++11) |
équivalent à "%H:%M" |
tm_hour
,
tm_min
|
T
(C++11) |
équivalent à "%H:%M:%S" (le format horaire ISO 8601) |
tm_hour
,
tm_min
,
tm_sec
|
p
|
écrit a.m. ou p.m. (dépendant de la localisation) |
tm_hour
|
z
(C++11) |
écrit le
décalage horaire par rapport à UTC
au format ISO 8601 (par exemple
-0430
), ou aucun caractère si les informations de fuseau horaire ne sont pas disponibles
|
tm_isdst
|
Z
|
écrit le nom ou l'abréviation du fuseau horaire dépendant de la locale , ou aucun caractère si les informations de fuseau horaire ne sont pas disponibles |
tm_isdst
|
Valeur de retour
Nombre de caractères larges écrits dans le tableau de caractères larges pointé par str sans inclure le caractère de fin L ' \0 ' en cas de succès. Si count a été atteint avant que la chaîne entière puisse être stockée, 0 est retourné et le contenu est indéfini.
Exemple
#include <ctime> #include <cwchar> #include <iostream> #include <locale> int main() { std::locale::global(std::locale("ja_JP.utf8")); std::time_t t = std::time(nullptr); wchar_t wstr[100]; if (std::wcsftime(wstr, 100, L"%A %c", std::localtime(&t))) std::wcout << wstr << '\n'; }
Sortie possible :
火曜日 2011年12月27日 17時43分13秒
Voir aussi
|
convertit un objet
std::tm
en représentation textuelle personnalisée
(fonction) |
|
|
(C++11)
|
formate et sort une valeur de date/heure selon le format spécifié
(modèle de fonction) |
|
Documentation C
pour
wcsftime
|
|