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);
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é :
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 l'heure correspondante à partir de l'heure courante incluse.
La spécification POSIX.1-2001 pour strptime(3) 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(3) si bien que les deux fonctions supportent exactement les mêmes conversions automatiquement.
L'implémentation glibc ne supporte pas l'indicateur de conversion : %Z.
Ce document est une traduction réalisée par Stéphan Rafin <stephan DOT rafin AT laposte DOT net> le 22 avril 2002 et révisée le 17 juillet 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 getdate ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.
Dernière mise à jour : 17 juillet 2008