Convertir un string en date en langage c
iamoki
Messages postés
24
Statut
Membre
-
iamoki Messages postés 24 Statut Membre -
iamoki Messages postés 24 Statut Membre -
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 kindle en epub - Guide
- Convertir audio en texte word - Guide
- Convertir hevc en jpg - 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...