Ajouter un mois a une date, avec time.h
liam
-
ziz -
ziz -
salut a tous,
j'ai un petit souci, je voudrais recuperer la date actuelle d1, y ajouter 1 mois et la comparer avec une autre date d2, afin de voir si d2 est dans moins d'1 mois.
voici mon code:
time_t rawtime;
struct tm *timeinfo, *t;
time_t tps, now;
time ( &rawtime );
t = localtime ( &rawtime );
if (Bmonth < month) // Bmonth == d2 et month == d1
t->tm_year = year - 1900 + 1;
else
t->tm_year = year - 1900;
t->tm_mon = Bmonth - 1;
t->tm_mday = Bday;
t->tm_hour = t->tm_min = t->tm_sec = 0;
tps = mktime(t);
time(&now);
diff = difftime(now, tps);
if (diff < 30)
return 1;
else
return 0;
///fin du code
Bmonth et month sont recuperer avant dans le code.
En sortie, la valeur de diff ne change jamais, et si j'esaie deprinter des valeurs de tps ou de now, ca plante... Bref, je dois mal utiliser tous ca. Si qqun pouvait m'aider ca serait sympa! Merci d'avance!
ps: dsl pour l'indentation du code, c du copier/coller...
j'ai un petit souci, je voudrais recuperer la date actuelle d1, y ajouter 1 mois et la comparer avec une autre date d2, afin de voir si d2 est dans moins d'1 mois.
voici mon code:
time_t rawtime;
struct tm *timeinfo, *t;
time_t tps, now;
time ( &rawtime );
t = localtime ( &rawtime );
if (Bmonth < month) // Bmonth == d2 et month == d1
t->tm_year = year - 1900 + 1;
else
t->tm_year = year - 1900;
t->tm_mon = Bmonth - 1;
t->tm_mday = Bday;
t->tm_hour = t->tm_min = t->tm_sec = 0;
tps = mktime(t);
time(&now);
diff = difftime(now, tps);
if (diff < 30)
return 1;
else
return 0;
///fin du code
Bmonth et month sont recuperer avant dans le code.
En sortie, la valeur de diff ne change jamais, et si j'esaie deprinter des valeurs de tps ou de now, ca plante... Bref, je dois mal utiliser tous ca. Si qqun pouvait m'aider ca serait sympa! Merci d'avance!
ps: dsl pour l'indentation du code, c du copier/coller...
A voir également:
- Ajouter un mois a une date, avec time.h
- Ajouter une légende à une image word - Guide
- Ajouter un chromecast - Guide
- Comment ouvrir un fichier dat - Guide
- Ajouter un profil netflix - Guide
- Ajouter un commentaire sur word - Guide
2 réponses
rebonjour,
excuser moi j'ai oublier de modifier qqchose dans le code:
diff = difftime(now, tps) / (3600 * 24);
excuser moi j'ai oublier de modifier qqchose dans le code:
diff = difftime(now, tps) / (3600 * 24);
Bonjour, je me demande si le plantage n'est pas du a la mauvaise initialisation des
variables.
au lieu de ceci ,
je verrai plutot ceci avant de jouer avec des fonction difftime
timestamp = time(NULL);
T = gmtime(&user_date);
variables.
au lieu de ceci ,
je verrai plutot ceci avant de jouer avec des fonction difftime
struct tm *timeinfo, *t;
time_t rawtime,
now;
rawtime= time ( NULL );
now = time (NULL);
/* Et pour initialiser *t */
t = gmtime (&now);
timestamp = time(NULL);
T = gmtime(&user_date);