Probleme de date...

Résolu
Signaler
Messages postés
5
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
11 mars 2006
-
Messages postés
5
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
11 mars 2006
-
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

Messages postés
19
Date d'inscription
lundi 28 juin 2004
Statut
Membre
Dernière intervention
29 novembre 2005

c normal

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

Tu dois donc ajouté 1 à la valeur du mois.</DD>
Messages postés
15187
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
26 novembre 2021
100
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...
Messages postés
15187
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
26 novembre 2021
100
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...
Messages postés
99
Date d'inscription
vendredi 24 juin 2005
Statut
Membre
Dernière intervention
17 septembre 2005

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.
Messages postés
19
Date d'inscription
lundi 28 juin 2004
Statut
Membre
Dernière intervention
29 novembre 2005

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>
Messages postés
15187
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
26 novembre 2021
100
[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...
Messages postés
99
Date d'inscription
vendredi 24 juin 2005
Statut
Membre
Dernière intervention
17 septembre 2005

lol trahi par ma feignantise
Messages postés
5
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
11 mars 2006

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]