Convertir une chaîne de caractères en estampille ou en struct tm

Problème

Vous disposez d’une chaîne de caractères contenant une date et, ou, une heure et souhaitez en obtenir une estampille ou un struct tm.

Solution

Utilisez strptime() ou getdate() si elles existent sur votre système.

Pour des systèmes qui ne proposent pas ces fonctions, ou si vous cherchez la compatibilité avec des systèmes qui ne les proposent pas, il n’y a pas de solution toute faite. Il faut analyser la chaîne de caractères, soit caractère par caractère, soit à l’aide d’une expression régulière (voyez la recette "Déterminer si une chaîne de caractères correspond au motif précisé dans une expression régulière" du chapitre "Chaînes de caractères" à ce sujet). De plus, la solution que vous allez construire sera une solution propre à un format de date et ne pourra pas être utilisée si le format change un peu trop. Néanmoins, le principe de l’analyse consiste à trouver dans la chaîne de caractères les données nécessaires pour remplir une variable de type struct tm.

Discussion

La fonction strptime() est le pendant de strftime(). Il faut fournir la chaîne à analyser suivie d’une chaîne qui indique le format de la date. Pour une date au format "Sat May 1 15:00:00 2004", le format...

Pour consulter la suite, découvrez le livre suivant :
couv_EI3CACT.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Convertir une estampille ou un struct tm en chaîne de caractères
Suivant
Faire une pause