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 à l'écran d'accueil iphone - Guide
- Ajouter une signature sur word - Guide
- Ouvrir un fichier .dat - Guide
- Impossible d'ajouter un ami sur facebook - Guide
- Ajouter un compte whatsapp - 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);