C:
Convertir une date en chaîne de caractères
Comment faire :
La fonction strftime
de la bibliothèque <time.h>
est couramment utilisée à cette fin. Elle vous permet de formater la date et l’heure de diverses manières en spécifiant des indicateurs de format. Voici un exemple rapide :
#include <stdio.h>
#include <time.h>
int main() {
char dateStr[100];
time_t now = time(NULL);
struct tm *ptm = localtime(&now);
// Convertir la date et l'heure en chaîne de caractères (par exemple, "Mer Jun 30 21:49:08 2021")
strftime(dateStr, sizeof(dateStr), "%a %b %d %H:%M:%S %Y", ptm);
printf("Date et Heure actuelles : %s\n", dateStr);
return 0;
}
Le résultat pourrait ressembler à ceci :
Date et Heure actuelles : Mer Jun 30 21:49:08 2021
Vous pouvez personnaliser le format en changeant les indicateurs de format passés à strftime
. Par exemple, pour obtenir la date au format AAAA-MM-JJ
, vous utiliseriez "%Y-%m-%d"
.
Approfondissement
La fonction strftime
et la bibliothèque <time.h>
font partie de la Bibliothèque Standard C, qui remonte à la norme ANSI C originale (C89/C90). Bien qu’elle soit simple et prise en charge sur de nombreuses plateformes, cette approche peut sembler de bas niveau et encombrante par rapport aux langues de programmation modernes qui offrent des bibliothèques de dates et d’heures plus intuitives.
Il convient de noter, bien que les fonctions de temps de la bibliothèque standard C soient largement supportées et relativement simples à utiliser, elles manquent de certaines des fonctionnalités de manipulation de fuseaux horaires et d’internationalisation plus complexes trouvées dans les bibliothèques de langues plus récentes ou dans des bibliothèques C tierces telles que les Composants Internationaux pour Unicode (ICU).
Cependant, les capacités de personnalisation de la fonction strftime
et son large support de plateforme en font un outil fiable et utile pour la conversion de chaînes de dates en C. Les programmeurs venant de langues avec des bibliothèques datetime de plus haut niveau peuvent devoir s’ajuster à sa nature de bas niveau mais la trouveront remarquablement puissante et polyvalente pour formater les dates et les heures pour une variété d’applications.