English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Utilisation et exemple de la fonction strftime() de la bibliothèque C

C标准库 - <time.h>

Fonction de bibliothèque C size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr) Selon format Défini dans les règles de formatage, la structure de formatage timeptr Le temps représenté, et il est stocké dans str dans.

Déclaration

Voici la déclaration de la fonction strftime().

size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr)

Paramètre

  • str -- C'est un pointeur vers le tableau cible, utilisé pour copier la chaîne C générée.
  • maxsize -- C'est le nombre maximum de caractères copiés dans str.
  • format -- Ceci est une chaîne C, qui contient toute combinaison possible de caractères normaux et d'indicateurs de format. Ces indicateurs sont remplacés par les valeurs correspondantes du temps spécifié dans tm. Les indicateurs de format sont :
IndicateurRemplacer parExemple
%aNom abrégé du jour de la semaine Sun
%ANom complet du jour de la semaine Sunday
%bNom abrégé du mois Mar
%BNom complet du mois Mars
%cFormat de la date et de l'heure Sun Aug 19 02:56:02 2012
%dLe jour du mois (01-31)19
%H24 Heures au format 12 heures (00-23)14
%I12 Heures au format 12 heures (01-12)05
%jLe jour de l'année (001-366)231
%mNombre décimal représentant le mois (01-12)08
%MMinutes (00-59)55
%pNom AM ou PMPM
%SSecondes (00-61)02
%ULa semaine de l'année, le premier dimanche est le premier jour de la première semaine (00-53)33
%wNombre décimal représentant le jour de la semaine, le dimanche est représenté par 0 (0-6)4
%WLa semaine de l'année, le premier lundi est le premier jour de la première semaine (00-53)34
%xFormat de la date08/19/12
%XFormat de l'heure02:50:06
%yAnnée, deux derniers chiffres (00-99)01
%YAnnée2012
%ZNom ou abréviation de la zone horaireCDT
%%Un symbole %%
  • timeptr -- Ceci est un pointeur vers la structure tm, qui contient un temps calendaire décomposé en les parties suivantes :

struct tm {
   int tm_sec;         /* Secondes, allant de 0 à 59                */
   int tm_min;         /* Minutes, allant de 0 à 59                */
   int tm_hour;        /* Heures, allant de 0 à 23                */
   int tm_mday;        /* Le jour du mois, allant de 1 à 31                    */
   int tm_mon;         /* Mois, allant de 0 à 11                */
   int tm_year;        /* de 19Années depuis 00                */
   int tm_wday;        /* Le jour de la semaine, allant de 0 à 6                */
   int tm_yday;        /* Le jour de l'année, allant de 0 à 365                    */
   int tm_isdst;       /* Heure d'été                        */    
};

Valeur de retour

Si la chaîne de caractères C générée est inférieure à size caractères (y compris le caractère de fin de chaîne), elle renvoie le nombre total de caractères copiés dans str (sans inclure le caractère de fin de chaîne), sinon elle renvoie zéro.

Exemple en ligne

Le présent exemple montre l'utilisation de la fonction strftime().

#include <stdio.h>
#include <time.h>
int main ()
{
   time_t rawtime;
   struct tm *info;
   char buffer[80];
   time( &rawtime );
   info = localtime( &rawtime );
   strftime(buffer, 80, "%Y-%m-"%d %H:%M:%S", info);
   printf("格式化的日期 & 时间 : |%s|\n", buffer );
   return(0);
}

让我们编译并运行上面的程序,这将产生以下结果:

格式化的日期 & 时间 : |2018-09-19 08:59:07|

C标准库 - <time.h>