Date création : 27-03-2008 20:23:44
 Vous êtes dans : GNU/Linux Astuces / Pages man [Section3 - Sous-fonctions]
GETDATE
Index
- NOM
- SYNOPSIS
- DESCRIPTION
- VALEUR RENVOYÉE
- NOTES
- ENVIRONNEMENT
- CONFORMITÉ À
- VOIR AUSSI
- TRADUCTION
NOM
getdate - Conversion d'une chaîne de caractères en structure tm.
SYNOPSIS
#define _XOPEN_SOURCE
#define _XOPEN_SOURCE_EXTENDED
#include <time.h>
struct tm *getdate (const char *string);
extern int getdate_err;
#define _GNU_SOURCE
#include <time.h>
int getdate_r (const char *string, struct tm *res);
DESCRIPTION
La fonction getdate() convertit une chaîne de caractères pointée par
string en une structure tm qu'elle renvoie. Cette structure tm est
susceptible d'être allouée de façon statique et d'être ainsi écrasée lors du
prochain appel.
Contrairement à strptime(3), (qui a un argument format), getdate()
utilise les formats présents dans le fichier dont le chemin d'accès complet
est donné par la variable d'environnement DATEMSK. La première ligne du
fichier qui peut être mise en correspondance avec la chaîne passée en
paramètre d'entrée est utilisée pour la conversion.
La correspondance n'est pas sensible à la casse. Les espaces superflus,
qu'ils soient dans le motif ou dans la chaîne à convertir, sont ignorés.
Les paramètres de conversion qu'un motif peut contenir sont les mêmes que
pour strptime(3). Un indicateur de conversion supplémentaire est accepté :
- %Z
-
Nom du fuseau horaire.
Lorsque %Z est spécifié, la valeur renvoyée est initialisée à l'heure
sous forme structure tm correspondant à l'heure courante sous le fuseau
horaire indiqué. Sinon, elle est initialisée à l'heure sous forme de
structure tm correspondant à l'heure locale actuelle.
Lorsque seul le jour de la semaine est donné, le jour pris en compte sera le
premier jour correspondant à partir d'aujourd'hui inclus.
Lorsque seul le mois est spécifié (et pas l'année), le mois pris en compte
est le premier mois correspondant à partir du mois courant inclus. Si aucun
jour n'est indiqué, le premier jour du mois est pris par défaut.
Lorsque les heures, minutes et secondes ne sont pas indiquées, l'heure
courante (heures, minutes et secondes) est prise par défaut.
Si aucune date n'est indiquée, mais que l'on connaît l'heure, l'heure prise
en compte sera la première occurrence de cette heure, à partir de l'heure
courante incluse.
VALEUR RENVOYÉE
En cas de succès, cette fonction renvoie un pointeur vers une structure
struct tm. sinon elle renvoie NULL et positionne la variable globale
getdate_err. La modification éventuelle de errno est
indéfinie. getdate_err peut prendre les valeurs suivantes :
- 1
-
La variable d'environnement DATEMSK vaut null ou n'est pas définie.
- 2
-
Le fichier patron (template) ne peut être ouvert pour être lu.
- 3
-
Impossible de lire l'état du fichier.
- 4
-
Le fichier patron n'est pas un fichier régulier.
- 5
-
Une erreur est survenue en cours de lecture du fichier patron.
- 6
-
Échec d'allocation mémoire (pas assez de mémoire disponible).
- 7
-
Il n'y a pas de ligne dans le fichier qui puisse être mise en correspondance
avec l'entrée.
- 8
-
Paramètres d'entrée invalides.
NOTES
Puisque getdate() n'est pas ré-entrante à cause de l'utilisation de
getdate_err et du tampon statique utilisé pour stocker le résultat
renvoyé, la glibc fournit une variante utilisable en contexte
multi-threads. La fonctionnalité est la même. Le résultat est renvoyé dans
le tampon pointé par res et, en cas d'erreur, le code de retour est
différent de zéro avec les mêmes valeurs que celles données précédemment
pour getdate_err.
La spécification POSIX.1-2001 pour strptime() contient des spécifications
de conversion utilisant les modificateurs %E ou %O alors que de tels
modificateurs ne sont pas indiqués pour getdate(). L'implémentation glibc
de getdate() utilise strptime() si bien que les deux fonctions
supportent exactement les mêmes conversions automatiquement.
L'implémentation de la glibc ne supporte pas l'indicateur de conversion :
%Z.
ENVIRONNEMENT
- DATEMSK
-
Fichier contenant les motifs de formatage.
- TZ, LC_TIME
-
Variables utilisées par strptime().
CONFORMITÉ À
POSIX.1-2001
VOIR AUSSI
localtime(3), setlocale(3), strftime(3), strptime(3),
time(2), feature_test_macros(7)
TRADUCTION
Cette page de manuel a été traduite par
Stéphan Rafin <stephan DOT rafin AT laposte DOT net> en 2002,
puis a été mise à jour par
Alain Portal <aportal AT univ-montp2 DOT fr> jusqu'en 2006.
La traduction de cette page de manuel est basée sur les traductions
disponibles sur http://manpagesfr.free.fr/,
mais est gérée par l'équipe francophone de traduction de Debian
au travers de la liste de discussion debian-l10n-french.
Veuillez signaler toute erreur de traduction par un rapport de bogue sur
le paquet manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document en
utilisant la commande
« man -L C <section> <page_de_man> ».
|