Récupération de la date et de l'heure [Résolu]

Signaler
Messages postés
20
Date d'inscription
mardi 21 mars 2006
Statut
Membre
Dernière intervention
14 juin 2006
-
Messages postés
20
Date d'inscription
mardi 21 mars 2006
Statut
Membre
Dernière intervention
14 juin 2006
-
BOnjour je voudrais récupérer la Date et l'heure dans une chaine de caractère en C++ j'utilise visual studio 2005

merci

15 réponses

Messages postés
746
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
23 mai 2007
8
t.wYear est le membre de la structure qui contient l'année. Il faut que tu le mette dans ton sprintf à la bonne place.
Et n'oublie pas de remplacer tes %s (strings) par des %d (DWORD).
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
13
SYSTEMTIME t;
GetLocalTime(&t);
printf("%d/%d/%d", t.wDay, t.wMonth, t.wYear);

Fonctionne très bien moi.

___________________________________________
Les plus grands esprits trouvent toujours une solution
Messages postés
295
Date d'inscription
dimanche 4 mai 2003
Statut
Membre
Dernière intervention
6 décembre 2010

#include <time.h>

time_t t;
time(&t); / t contient l'heure et la date courante
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
13
Ou encore avec  GetLocalTime. C'est un peu plus simple que time (car aucune convertion, juste une structure contenant les info)

___________________________________________
Les plus grands esprits trouvent toujours une solution
Messages postés
20
Date d'inscription
mardi 21 mars 2006
Statut
Membre
Dernière intervention
14 juin 2006

j'arrive pas à utiliser cette fonction si vous voulez je dois récupérer à la fois la date et l'heure mais séparémment . Ensuite j'ai un problème d'accès violation je doit le mettre de tel façon qu'il soit utilisable dans une fonction SPRINTF()

char

timer=static_cast<char>(time(&t));
sprintf(req ,"INSERT INTO station2 VALUES ('%s', '%s','%s' ,'%s' ,'%s' ,'%s','%s','%s','%s')",timer,a.getVal(8),a.getVal(j),a.getVal(8),a.getVal(8),a.getVal(8),a.getVal(8),a.getVal(8));

mais je n'y arrive pas
PS :j'utilise MYSQL.h et je suis débutant

MERCI
Messages postés
746
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
23 mai 2007
8
Utilise la structure SYSTEMTIME définie dans windows.h

#include <windows.h>

SYSTEMTIME t;
GetSystemTime(&t);

t.wYear
t.wMonth
t.wDay
t.wHour
t.wMinute
t.wSecond
t.wMillisecond
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
13
Ça dépend. Si il veut récupérer l'heure système ok mais si c'est l'heure locale, il ferait mieu d'utiliser GetLocalTime

___________________________________________
Les plus grands esprits trouvent toujours une solution
Messages postés
20
Date d'inscription
mardi 21 mars 2006
Statut
Membre
Dernière intervention
14 juin 2006

nn dsl je n'y arrive peut être que je fait une fausse manip
SYSTEMTIME t;
t.wYear;

non??
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
13
SYSTEMTIME t;
GetLocalTime(&t);
t.wYear;

___________________________________________
Les plus grands esprits trouvent toujours une solution
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
13
Petit exemple:

SYSTEMTIME t;
GetLocalTime(&t);
printf("Nous somme le %d de l'annee %d", t.wDay, t.wYear);

___________________________________________
Les plus grands esprits trouvent toujours une solution
Messages postés
20
Date d'inscription
mardi 21 mars 2006
Statut
Membre
Dernière intervention
14 juin 2006

SA marche je vous remercie beaucoup mais maintenant faudrait que je le mette sous la forme jj/mm/YYYY dans une variable
ex : %d doit recevoir jj/mm/YYYY

merci
Messages postés
746
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
23 mai 2007
8
%d/%d/%d et tu met tes trois paramètres time.wDay, time.wMonth et time.wYear.
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
13
Pas plus d'un paramètre par %d en aucun cas. Ni pour %s %o %x et tout les autres. Comme dit nightlord
printf(

"%d/%d/%d", t.wDay, t.wMonth, t.wYear);

___________________________________________
Les plus grands esprits trouvent toujours une solution
Messages postés
20
Date d'inscription
mardi 21 mars 2006
Statut
Membre
Dernière intervention
14 juin 2006

oue j'ai fait ton truc  SAKINGDOM le hi c'est qu'il me retourne

124392??
pas compris la

aussi je doit l'insérer dans l'un de mes paramètre de mon Sprintf se format la
Messages postés
20
Date d'inscription
mardi 21 mars 2006
Statut
Membre
Dernière intervention
14 juin 2006

Merci beaucoup tout marche à merveille