Convertir un string en date en langage c
iamoki
Messages postés
23
Date d'inscription
Statut
Membre
Dernière intervention
-
iamoki Messages postés 23 Date d'inscription Statut Membre Dernière intervention -
iamoki Messages postés 23 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaite convertir une chaîne de caractère en format date en langage c et non pas en langage c++ ni c# svp, de la façon suivante :
char *str="2009-11-19 13:33:47.51";
Et je veux obtenir des variables où j'aurai les valeurs de l'année, du mois, du jour, de l'heure, des minutes et de secondes.
Merci de votre aide.
Je souhaite convertir une chaîne de caractère en format date en langage c et non pas en langage c++ ni c# svp, de la façon suivante :
char *str="2009-11-19 13:33:47.51";
Et je veux obtenir des variables où j'aurai les valeurs de l'année, du mois, du jour, de l'heure, des minutes et de secondes.
Merci de votre aide.
A voir également:
- Convertir un string en date en langage c
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Convertir epub en kindle - Guide
- Convertir youtube en mp3 avec audacity - Guide
- Convertir kindle en epub - Guide
- Convertir audio en texte word - Guide
5 réponses
$ cat date2.c #include <stdio.h> #include <time.h> main() { struct tm tm; char *str="2009-11-19 13:33:47.51"; strptime(str,"%Y-%m-%d %H:%M:%S", &tm); printf("%d/%d/%d %d:%d:%d\n", tm.tm_year+1900, tm.tm_mon+1, tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec); } $ $ make date2 cc date2.c -o date2 $ ./date2 2009/11/19 13:33:47 $ $
hello
voir aussi strptime
strptime
Nom
strptime - Conversion d'une chaîne représentant une date en une structure tm.
Synopsis
#include <time.h>
char *strptime (char *buf, const char *format, const struct tm *tm);
Description
La fonction strptime() est complémentaire de la fonction strftime(). Elle convertit la chaîne de caractères pointée par buf en une valeur qui est stockée dans la structure tm pointée par l'argument tm,
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/strptime.3.html
voir aussi strptime
strptime
Nom
strptime - Conversion d'une chaîne représentant une date en une structure tm.
Synopsis
#include <time.h>
char *strptime (char *buf, const char *format, const struct tm *tm);
Description
La fonction strptime() est complémentaire de la fonction strftime(). Elle convertit la chaîne de caractères pointée par buf en une valeur qui est stockée dans la structure tm pointée par l'argument tm,
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/strptime.3.html
$ cat date3.c #include <stdio.h> main() { int a, m, j ,h, min, s; char *str="2009-11-19 13:33:47.51"; sscanf(str, "%d-%d-%d %d:%d:%d", &a, &m, &j, &h, &min, &s); printf("%d/%d/%d %d:%d:%d\n", a, m, j, h, min, s); } $ $ make date3 cc date3.c -o date3 $ ./date3 2009/11/19 13:33:47 $
Bonjour,
Pour obtenir les différentes variables que tu souhaites, il suffit de découper la chaine avec une boucle.
Par exemple :
int pos = 0;
for (int i=0;i<4 && i<strlen(str);i++)
{ strAnnee[pos]=str[i]; pos++; }
strAnnee[pos]='\0';
...Etc...
Cordialement, M.
Pour obtenir les différentes variables que tu souhaites, il suffit de découper la chaine avec une boucle.
Par exemple :
int pos = 0;
for (int i=0;i<4 && i<strlen(str);i++)
{ strAnnee[pos]=str[i]; pos++; }
strAnnee[pos]='\0';
...Etc...
Cordialement, M.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Alors il serait peut-être sympa de te servir de cette fonction :
char *strtok (char *s, const char *t);
Cette fonction décompose la chaîne s en sous-chaîne délimitées par un caractère appartenant à ct. Un appel ultérieur à strtok avec s égale à NULL, retourne la sous-chaîne suivante ; ct peut être différent à chaque appel.
La chaîne passée en argument est modifiée par la fonction : elle ajoute un caractère de fin de chaîne à la place du séparateur.
Qu'en penses tu ?
Alors il serait peut-être sympa de te servir de cette fonction :
char *strtok (char *s, const char *t);
Cette fonction décompose la chaîne s en sous-chaîne délimitées par un caractère appartenant à ct. Un appel ultérieur à strtok avec s égale à NULL, retourne la sous-chaîne suivante ; ct peut être différent à chaque appel.
La chaîne passée en argument est modifiée par la fonction : elle ajoute un caractère de fin de chaîne à la place du séparateur.
Qu'en penses tu ?
Je comprends pas...