Probleme de date...

Résolu
PAFounet Messages postés 5 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 11 mars 2006 - 27 juil. 2005 à 10:18
PAFounet Messages postés 5 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 11 mars 2006 - 27 juil. 2005 à 11:09
bien le bonjour chez vous!
voila, comme le nom du poste l'indique... j'ai un petit probleme de date...
lorque j'execute la fonction suivante :

#include <stdio.h>
#include <time.h>

void main()
{
struct tm * gm_date;


time_t sec;
char date[30];

time (&sec);
gm_date = localtime (&sec);
sprintf (date, "Le %02d/%02d/%04d a %02d:%02d:%02d ", gm_date>tm_mday,gm_date->tm_mon, gm_date->tm_year+1900, gm_date->tm_hour, gm_date->tm_min, gm_date->tm_sec );

printf("%s\n",date);
}

et bin la date affichée est du style :

Le 27/06/2005 a 10:12:39

or nous somme en juillet (7e mois de l'année)
Comment cela se fais-ce ?
Ai-je fait une étourderie ? (ça ne m'étonnerais même pas)
Repondez moi please...
En vous remerciant!

8 réponses

oulali Messages postés 19 Date d'inscription lundi 28 juin 2004 Statut Membre Dernière intervention 29 novembre 2005
27 juil. 2005 à 10:27
c normal

<DT>tm_mon
<DD>Month (0 – 11; January = 0).

Tu dois donc ajouté 1 à la valeur du mois.</DD>
3
BunoCS Messages postés 15330 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 novembre 2022 103
27 juil. 2005 à 10:22
Est-ce que le numéro des mois n'irait pas de 0 à 11?

0 = Janvier

1 = Février...

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
BunoCS Messages postés 15330 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 novembre 2022 103
27 juil. 2005 à 10:29
Idem pour les jours d'ailleurs:

0 = Dimanche

1 = Lundi

...

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
whikie Messages postés 99 Date d'inscription vendredi 24 juin 2005 Statut Membre Dernière intervention 17 septembre 2005
27 juil. 2005 à 10:43
Bonjour a tous,

Question annexe...
Quand j'essaye ce code chez moi j'obtiens :

13 C:\Dev-Cpp\maindate.c `tm_mday' undeclared (first use in this function)

Quelqu'un peut m'expliquer pourquoi ?

Merci d'avance.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
oulali Messages postés 19 Date d'inscription lundi 28 juin 2004 Statut Membre Dernière intervention 29 novembre 2005
27 juil. 2005 à 10:47
Tu as raison pour les jours de la semaine ( Lundi, Mardi , ..., Dimanche)

<DT>tm_wday

<DD>Day of week (0 – 6; Sunday = 0). </DD>
Mais faire attention pour les jours du mois. (1, ..., 31) et non pas ( 0, ..., 30).

<DT>tm_mday

<DD>Day of month (1 – 31). </DD>
0
BunoCS Messages postés 15330 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 novembre 2022 103
27 juil. 2005 à 10:51
[auteurdetail.aspx?ID=539660 whikie]> Si tu as copié/collé le code de [auteurdetail.aspx?ID=535492 PAFounet] c'est normal que ça ne marche pas: il y a une erreur de frappe



sprintf (date, "Le %02d/%02d/%04d a %02d:%02d:%02d ",
gm_date->tm_mday,gm_date->tm_mon, gm_date->tm_year+1900,
gm_date->tm_hour, gm_date->tm_min, gm_date->tm_sec );

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
whikie Messages postés 99 Date d'inscription vendredi 24 juin 2005 Statut Membre Dernière intervention 17 septembre 2005
27 juil. 2005 à 10:55
lol trahi par ma feignantise
0
PAFounet Messages postés 5 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 11 mars 2006
27 juil. 2005 à 11:09
Merci beaucoup de m'avoir repondu aussi rapidement!
Désolé du dérangement et de ma tite faute de frappe...
Encore merci et a la revoyure!

"Il ne faut pas de tout pour faire un monde. Il faut du bonheur, et rien d'autre."
[Paul Eluard]
0