Section courante

A propos

Section administrative du site

STRFTIME

Format de temps de chaîne de caractères
  time.h

Syntaxe

size_t strftime(char *s, size_t max, const char *format, const struct tm *tm);

Paramètres

Nom Description
s Ce paramètre permet d'indiquer la chaîne de caractères recevant les données demandés.
max Ce paramètre permet d'indiquer la taille maximal que peut contenir la chaîne de caractères.
format Ce paramètre permet d'indiquer le format souhaité pour la date et l'heure. Il est a noter qu'un ou plusieurs des spécificateurs suivants peuvent être inclus dans le texte et il utilisera un argument supplémentaire pour chaque spécificateurs :
Spécificateur Description
%a Ce spécificateur indique d'insérer à cette position l'abréviation du nom du jour de la semaine en accord avec la région locale
%A Ce spécificateur indique d'insérer à cette position le nom complet du jour de la semaine en accord avec la région locale
%b Ce spécificateur indique d'insérer à cette position l'abréviation du nom du mois en accord avec la région locale
%B Ce spécificateur indique d'insérer à cette position le nom complet du mois en accord avec la région locale
%c Ce spécificateur indique d'insérer à cette position la représentation préféré de date et heure en accord avec la région locale
%C Ce spécificateur indique d'insérer à cette position le numéro du siècle avec deux chiffres.
%d Ce spécificateur indique d'insérer à cette position le jour du mois avec deux chiffres, soit une valeur entre 01 et 31.
%D Ce spécificateur indique d'insérer à cette position le format «%m/%d/%y».
%e Ce spécificateur indique d'insérer à cette position le jour du mois sans zéro si la taille est inférieur à 2, soit une valeur entre 1 et 31.
%E Ce spécificateur indique d'insérer à cette position un format alternatif.
%F Ce spécificateur indique d'insérer à cette position le format «%Y-%m-%d», soit une date de format ISO 8601.
%G Ce spécificateur indique d'insérer à cette position une année de format ISO 8601, lequel contient 4 chiffres.
%g Ce spécificateur indique d'insérer à cette position une année sans le siècle, lequel contient 2 chiffres, soit une valeur entre 00 et 99.
%H Ce spécificateur indique d'insérer à cette position l'heure en format 24 heures avec toujours 2 chiffres, soit une valeur entre 00 et 23.
%h Ce spécificateur indique d'insérer à cette position l'abréviation du nom du mois en accord avec la région courante
%I Ce spécificateur indique d'insérer à cette position l'heure en format 12 heures avec toujours 2 chiffres, soit une valeur entre 01 et 12.
%j Ce spécificateur indique d'insérer à cette position le jour de l'année avec toujours 3 chiffres, soit une valeur entre 001 et 366.
%k Ce spécificateur indique d'insérer à cette position l'heure en format 24 heures avec un espace blanc précédent un chiffre seul, soit une valeur entre 0 et 23.
%l Ce spécificateur indique d'insérer à cette position l'heure en format 12 heures avec un espace blanc précédent un chiffre seul, soit une valeur entre 1 et 12.
%m Ce spécificateur indique d'insérer à cette position le numéro du mois avec toujours 2 chiffres, soit une valeur entre 01 et 12.
%M Ce spécificateur indique d'insérer à cette position les minutes avec toujours 2 chiffres, soit une valeur entre 00 et 59.
%n Ce spécificateur indique d'insérer à cette position un caractère de nouvelle ligne.
%O Ce spécificateur indique d'insérer à cette position un format alternative.
%p Ce spécificateur indique d'insérer à cette position en majuscule AM (avant-midi) ou PM (après-midi) de la valeur de l'heure en accord avec la région locale.
%P Ce spécificateur indique d'insérer à cette position en minuscule AM (avant-midi) ou PM (après-midi) de la valeur de l'heure en accord avec la région locale.
%r Ce spécificateur indique d'insérer à cette position l'heure complète avec l'indicateur AM/PM, soit l'équivalent du format «%I:%M:%S %p».
%R Ce spécificateur indique d'insérer à cette position l'heure et les minutes en format 24 heures, soit l'équivalent du format «%H:%M».
%s Ce spécificateur indique d'insérer à cette position le nombre de secondes passés depuis le 1er janvier 1970, 00:00:00 en heure universel UTC.
%S Ce spécificateur indique d'insérer à cette position les 2 chiffres des secondes, soit une valeur entre 00 et 60.
%t Ce spécificateur indique d'insérer à cette position un caractère de tabulation.
%T Ce spécificateur indique d'insérer à cette position l'heure long au format 24 heures, soit l'équivalent du format «%H:%M:%S».
%u Ce spécificateur indique d'insérer à cette position le numéro du jour de la semaine, soit une valeur entre 1 et 7, où 1 correspond à Lundi, 2 à Mardi,...
%U Ce spécificateur indique d'insérer à cette position le numéro de la semaine de l'année courante, soit une valeur entre 00 et 53.
%V Ce spécificateur indique d'insérer à cette position le numéro de la semaine de l'année courante au format ISO 8601:1988, soit une valeur entre 01 et 53.
%w Ce spécificateur indique d'insérer à cette position le numéro du jour de la semaine, soit une valeur entre 0 et 6, où 0 correspond à Dimanche, 1 à Lundi,...
%W Ce spécificateur indique d'insérer à cette position le numéro de la semaine courante de l'année en 2 chiffres, soit une valeur 00 et 53.
%x Ce spécificateur indique d'insérer à cette position une représentation de la date courante sans l'heure.
%X Ce spécificateur indique d'insérer à cette position une représentation de l'heure courante sans l'heure.
%y Ce spécificateur indique d'insérer à cette position l'année avec 2 chiffres seulement ou sans les siècles, soit une valeur entre 00 et 99.
%Y Ce spécificateur indique d'insérer à cette position l'année avec 4 chiffres.
%z Ce spécificateur indique d'insérer à cette position l'heure selon le fuseaux horaire de Greenwich.
%Z Ce spécificateur indique d'insérer à cette position le fuseau horaire, son nom ou son abréviation.
%+ Ce spécificateur indique d'insérer à cette position la date et l'heure du format date. Ce spécificateur n'est pas supporté par le glibc2.
%% Ce spécificateur indique d'insérer à cette position le caractère «%».
tm Ce paramètre permet d'indiquer la structure de données contenant les informations de temps :
Nom Type de données Description
tm_sec int Ce champ permet d'indiquer les secondes, soit une valeur entre l'intervalle 0 et 61.
tm_min int Ce champ permet d'indiquer les minutes, soit une valeur entre l'intervalle 0 et 59.
tm_hour int Ce champ permet d'indiquer les heures, soit une valeur entre l'intervalle 0 et 23.
tm_mday int Ce champ permet d'indiquer le jour du mois, soit une valeur entre l'intervalle 1 et 31.
tm_mon int Ce champ permet d'indiquer le mois de l'année :
Valeur Description
0 Cette valeur permet d'indiquer le mois de Janvier.
1 Cette valeur permet d'indiquer le mois de Février.
2 Cette valeur permet d'indiquer le mois de Mars.
3 Cette valeur permet d'indiquer le mois d'Avril.
4 Cette valeur permet d'indiquer le mois de Mai.
5 Cette valeur permet d'indiquer le mois de Juin.
6 Cette valeur permet d'indiquer le mois de Juillet.
7 Cette valeur permet d'indiquer le mois d'Août.
8 Cette valeur permet d'indiquer le mois de Septembre.
9 Cette valeur permet d'indiquer le mois d'Octobre.
10 Cette valeur permet d'indiquer le mois de Novembre.
11 Cette valeur permet d'indiquer le mois de Décembre.
tm_year int Ce champ permet d'indiquer l'année après 1900.
tm_wday int Ce champ permet d'indiquer le jour de la semaine :
Valeur Description
0 Cette valeur permet d'indiquer le Dimanche.
1 Cette valeur permet d'indiquer le Lundi.
2 Cette valeur permet d'indiquer le Mardi.
3 Cette valeur permet d'indiquer le Mercredi.
4 Cette valeur permet d'indiquer le Jeudi.
5 Cette valeur permet d'indiquer le Vendredi.
6 Cette valeur permet d'indiquer le Samedi.
tm_yday int Ce champ permet d'indiquer le jour de l'année, soit une valeur entre l'intervalle 0 et 365.
tm_isdst int Ce champ permet d'indiquer le jour d'été ou avancé.

Description

Cette fonction permet d'effectuer la conversion des informations de date et de l'heure en une chaine de caractères.

Exemple

Voici un exemple montrant un simple affichage de l'heure courante :

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. int main()
  6. {
  7.     char outstr[200];
  8.     time_t t= time(NULL);
  9.     strftime(outstr, sizeof(outstr), "%a, %d %b %Y %H:%M:%S %z", localtime(&t));
  10.     printf("%s\n", outstr);
  11.     return 0;
  12. }

on obtiendra le résultat suivant si vous êtes le 31 juillet 2010 à 14:59:31 :

Sat, 31 Jul 2010 14:59:31 Est (heure d'été)

Dernière mise à jour : Dimanche, le 21 février 2016