Rechercher : dans
Par :

Ajouter un mois a une date, avec time.h

Dernière réponse le 4 jun 2009 à 17:13:03 liam, le 17 nov 2003 à 15:47:55 
 Signaler ce message aux modérateurs

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...

Meilleures réponses pour « ajouter un mois a une date, avec time.h » dans :
[Excel] Ajouter une date fixe dans une cellule VoirSi vous souhaitez insérer la date du jour en cours dans une cellule, au format JJ/MM/AAAA, et que celle-ci reste fixe, sans remise à jour à chaque ouverture du fichier (par exemple pour indiquer la date de création du fichier): Tapez simplement ...
VBScript - Les fonctions de date et de temps VoirLes fonctions de date et de temps Fonction Description Date Retourne la date du système DateAdd(interval, number, date) Ajoute un intervalle de temps (interval) à une...

1

liam, le 17 nov 2003 à 15:50:51

Rebonjour,

excuser moi j'ai oublier de modifier qqchose dans le code:

diff = difftime(now, tps) / (3600 * 24);

Répondre à liam

2

 ziz, le 4 jun 2009 à 17:13:03

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



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);

Répondre à ziz