wcsftime
|
Défini dans l'en-tête
<wchar.h>
|
||
| (depuis C95) | ||
Convertit les informations de date et 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
octets sont écrits.
Table des matières |
Paramètres
| str | - | pointeur vers le premier élément du tableau wchar_t 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 |
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
(C99) |
écrit le caractère de nouvelle ligne | |
t
(C99) |
é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
(C99) |
écrit l'année dans la représentation alternative, par exemple 平成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
(C99) |
é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
(C99) |
é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
(C99) |
écrit les 2 premiers chiffres de
l'année
sous forme de nombre décimal (plage
[00,99]
)
|
tm_year
|
EC
(C99) |
é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
(C99) |
é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
(C99) |
écrit les 2 derniers chiffres de
l'année basée sur les semaines ISO 8601
, 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
|
Ob
(C23) |
écrit le nom du mois abrégé dans la représentation alternative de la locale |
tm_mon
|
h
(C99) |
synonyme de
b
|
tm_mon
|
B
|
écrit le
nom complet du mois
, par ex.
October
(dépendant des paramètres régionaux)
|
tm_mon
|
OB
(C23) |
écrit le nom complet du mois approprié dans la représentation alternative de la locale |
tm_mon
|
m
|
écrit le
mois
sous forme de nombre décimal (plage
[01,12]
)
|
tm_mon
|
Om
(C99) |
écrit le mois en utilisant le système numérique alternatif, par exemple 十二 au lieu de 12 dans les paramètres régionaux 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
(C99) |
é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
(C99) |
é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
(C99) |
é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
(C99) |
écrit la
semaine de l'année
, comme avec
%V
, en utilisant le système numérique alternatif, par exemple 五十二 au lieu de 52 dans les locales 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
(C99) |
é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
(C99) |
é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
(C99) |
é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 les paramètres régionaux 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
(C99) |
écrit le
jour de la semaine
, 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
(C99) |
é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
(C99) |
écrit
jour de la semaine
, où lundi est
1
, en utilisant le système numérique alternatif, par exemple 二 au lieu de 2 dans la locale 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
(C99) |
écrit l'heure au format 24 heures en utilisant le système numérique alternatif, par exemple 十八 au lieu de 18 dans la locale ja_JP |
tm_hour
|
I
|
écrit
hour
sous forme de nombre décimal, horloge 12 heures (plage
[01,12]
)
|
tm_hour
|
OI
(C99) |
écrit l'heure à partir de l'horloge 12 heures en utilisant le système numérique alternatif, par exemple 六 au lieu de 06 dans les paramètres régionaux ja_JP |
tm_hour
|
M
|
écrit la
minute
sous forme de nombre décimal (plage
[00,59]
)
|
tm_min
|
OM
(C99) |
é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
(C99) |
é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 exemple
Sun Oct 17 04:41:13 2010
(dépendant des paramètres régionaux)
|
tous |
Ec
(C99) |
é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 la locale ja_JP | tous |
x
|
écrit la représentation de date localisée (dépendante de la locale) | tous |
Ex
(C99) |
é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
(C99) |
écrit une représentation alternative de l'heure (dépendante de la locale) | toutes |
D
(C99) |
équivalent à "%m/%d/%y" |
tm_mon
,
tm_mday
,
tm_year
|
F
(C99) |
équivalent à "%Y-%m-%d" (le format de date ISO 8601) |
tm_mon
,
tm_mday
,
tm_year
|
r
(C99) |
écrit l'heure au format 12 heures localisé (dépendant des paramètres régionaux) |
tm_hour
,
tm_min
,
tm_sec
|
R
(C99) |
équivalent à "%H:%M" |
tm_hour
,
tm_min
|
T
(C99) |
é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
(C99) |
é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 <locale.h> #include <stdio.h> #include <time.h> #include <wchar.h> int main(void) { wchar_t buff[40]; struct tm my_time = { .tm_year = 112, // = année 2012 .tm_mon = 9, // = 10ème mois .tm_mday = 9, // = 9ème jour .tm_hour = 8, // = 8 heures .tm_min = 10, // = 10 minutes .tm_sec = 20 // = 20 secondes }; if (wcsftime(buff, sizeof buff, L"%A %c", &my_time)) printf("%ls\n", buff); else puts("wcsftime failed"); setlocale(LC_ALL, "ja_JP.utf8"); if (wcsftime(buff, sizeof buff, L"%A %c", &my_time)) printf("%ls\n", buff); else puts("wcsftime failed"); }
Sortie :
Sunday Sun Oct 9 08:10:20 2012 日曜日 2012年10月09日 08時10分20秒
Références
- Norme C23 (ISO/IEC 9899:2024):
-
- 7.29.5.1 La fonction wcsftime (p: TBD)
- Norme C17 (ISO/CEI 9899:2018) :
-
- 7.29.5.1 La fonction wcsftime (p : 230-231)
- Norme C11 (ISO/IEC 9899:2011) :
-
- 7.29.5.1 La fonction wcsftime (p: 439-440)
- Norme C99 (ISO/CEI 9899:1999) :
-
- 7.24.5.1 La fonction wcsftime (p : 385-386)
Voir aussi
|
convertit un objet
tm
en représentation textuelle personnalisée
(fonction) |
|
|
Documentation C++
pour
wcsftime
|
|