strptime | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
NOM | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
SYNOPSIS | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
char *strptime (char *buf, const char *format, const struct tm *tm);
DESCRIPTION | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
La fonction strptime() traite la chaîne d'entrée de gauche à droite. Les trois types d'éléments d'entrée possibles (espace, caractère littéral, conversion) sont manipulés l'un après l'autre. Si l'entrée ne peut pas être mise en correspondance avec la chaîne de format, la fonction s'arrête. Le reste du format et de la chaîne d'entrée ne sont pas traités.
Les descripteurs applicables sont décrits ci-dessous. Dans le cas d'une chaîne de caractères (comme un nom de jour ou de mois), la comparaison ne tient pas compte des majuscules/minuscules. Dans le cas d'un nombre, les zéros au début sont autorisés mais pas obligatoires.
Pour les noms des mois ou des jours de la semaine, les différences entre majuscules et minuscules sont ignorées.
Certains descripteurs peuvent être complétés par les caractères modificateurs E et O, indiquant qu'il faut employer un autre format ou une autre spécification. Si cet autre format, ou cette autre conversion n'est pas disponible dans la localisation en cours, le descripteur n'est pas modifié.
Le modificateur E indique que la chaîne d'entrée peut contenir des versions différentes de la date et l'heure, en fonction de la localisation :
Le modificateur O indique que les saisies numériques peuvent être effectuées dans un format différent, dépendant de la localisation.
Les champs de la structure tm définie dans <time.h> sont :
struct tm { int tm_sec; /* secondes */ int tm_min; /* minutes */ int tm_hour; /* heures */ int tm_mday; /* jour du mois */ int tm_mon; /* mois */ int tm_year; /* année */ int tm_wday; /* jour de la semaine */ int tm_yday; /* jour de l'année */ int tm_isdst; /* décalage été/hiver */ };
VALEUR RENVOYÉE | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
CONFORMITÉ | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
NOTES | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Cette fonction n'est disponible que dans les versions de bibliothèque depuis la 4.6.8. Les bibliothèques Linux libc4 et libc5 incluaient toujours le prototype de cette fonction, la bibliothèque glibc 2 ne fournit le prototype que si les constantes _XOPEN_SOURCE ou _GNU_SOURCE sont définies.
Les caractères de modification locale E et O sont acceptés depuis la bibliothèque 5.4.13. La conversion « y » est toujours considérée comme appartenant au vingtième siècle dans les libc4 et libc5. Elle est prise dans l'intervalle 1950-2049 par la glibc 2.0, et 1969-2068 par la glibc 2.1.
Notes glibc | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
De même, à cause des extensions GNU de strftime(3), %k est accepté en synonyme de %H, et %l est accepté comme synonyme de %I, et %P en synonyme de %p. Enfin,
L'implémentation de la glibc n'impose pas la présence de caractères blancs entre deux descripteurs de champs.
EXEMPLE | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
#define _XOPEN_SOURCE #include <stdio.h> #include <stdlib.h> #include <time.h> int main(void) { struct tm tm; char buf[255]; strptime("2001-11-12 18:31:01", "%Y-%m-%d %H:%M:%S", &tm); strftime(buf, sizeof(buf), "%d %b %Y %H:%M", &tm); puts(buf); exit(EXIT_SUCCESS); }
VOIR AUSSI | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
TRADUCTION | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 9 novembre 1996 et révisée le 14 janvier 2008.
L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 strptime ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.
Sommaire | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
Table des mots clés | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
%% | DESCRIPTION |
%a ou %A | DESCRIPTION |
%b ou %B ou %h | DESCRIPTION |
%c | DESCRIPTION |
%D | DESCRIPTION |
%d ou %e | DESCRIPTION |
%EC | DESCRIPTION |
%Ex | DESCRIPTION |
%Ey | DESCRIPTION |
%F | Notes glibc |
%G | Notes glibc |
%H | DESCRIPTION |
%I | DESCRIPTION |
%j | DESCRIPTION |
%m | DESCRIPTION |
%n | DESCRIPTION |
%Od ou %Oe | DESCRIPTION |
%OH | DESCRIPTION |
%OI | DESCRIPTION |
%Om | DESCRIPTION |
%OS | DESCRIPTION |
%OU | DESCRIPTION |
%Ow | DESCRIPTION |
%Oy | DESCRIPTION |
%p | DESCRIPTION |
%R | DESCRIPTION |
%S | DESCRIPTION |
%T | DESCRIPTION |
%U | DESCRIPTION |
%V | Notes glibc |
%W | DESCRIPTION |
%X | DESCRIPTION |
%y | DESCRIPTION |
%z | Notes glibc |