J'ai des chaînes d'unixtime et je veux les comparer par heures et minutes.conversion Unixtime à temps comparable
Par exemple:
unixtime1 = "1327418725" unixtime2 = "1327511595"
time_t convertUnixToTime(const char* unixtime){
time_t time = (time_t)atol(unixtime);
return time;
}
utiliser la fonction en tant que telle:
time_t time1 = convertUnixToTime("1327418725");
struct tm *timeinfo1;
timeinfo1 = localtime(&time1);
time_t time2 = convertUnixToTime("1327511595");
struct tm *timeinfo2;
timeinfo2 = localtime(&time2);
cout << "time: " << asctime(timeinfo1);// << endl;
cout << "time: " << asctime(timeinfo2);// << endl;
et je reçois la sortie:
time: Wed Jan 25 09:13:15 2012
time: Wed Jan 25 09:13:15 2012
Je ne peux pas comprendre pourquoi je reçois la même heure et aussi je veux être capable de difftime() après pour voir combien HEURES et MINUTES ils sont séparés.
Des suggestions/un aperçu? Localtime() renvoie un pointeur sur un objet faisant partie intégrante de la bibliothèque.
Mais ne pas le mettre à jour sur le deuxième appel de localtime()? Ca marche btw, merci! – jshah
C'est le problème. localtime() met à jour la structure pointée sur chaque appel. Mais c'est la même structure à chaque fois. Si vous écrivez un petit programme pour appeler localtime() plusieurs fois de suite et que vous imprimez la valeur du pointeur, vous verrez que le pointeur contient la même adresse après chaque appel. –