bonjour, existe-t-il en C une fonction comme en C++ avec datediff pour calculer la différence entre deux dates au formale YYYYmmddhhmmss ?
Merci beaucoup.
bonjour, existe-t-il en C une fonction comme en C++ avec datediff pour calculer la différence entre deux dates au formale YYYYmmddhhmmss ?
Merci beaucoup.
Bonjour,
Non, en C standard, il n'existe que difftime qui permet de récupérer l'écart -en secondes- entre deux dates au format time_t.
Cela dit, avec mktime, on peut créer des time_t facilement.
http://www.cplusplus.com/reference/clibrary/ctime/
PS : Dans quelle bibliothèque as tu trouvé la fonction datediff ?
La fonction difftime a l'air très bien, mais le problème c'est que je veux comparer l'heure et la date actuelle avec celle stockée dans un fichier texte, or je n'arrive pas à convertir la chaine de caractère récupérée dans le fichier en time_t avec mktime car il faut obligatoirement avoir une struct tm, pour ensuite la convertir en time_t et l'utiliser avec difftime.
Je reste ouvert à toutes suggestions.
Merci.
Alors la date est au format timestamp :
20091007103123
Voilà.
sscanf peut faire ton bonheur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 #include <stdio.h> int main(void) { int annee, mois, jour, heure, minutes, secondes; char datestr[] = "20091007103123"; if(6 == sscanf(datestr, "%4d%2d%2d%2d%2d%2d", &annee, &mois, &jour, &heure, &minutes, &secondes)) { puts("conversion reussie"); printf("le %d/%d/%d a %d:%d:%d\n", jour, mois, annee, heure, minutes, secondes); } else { puts("echec de conversion"); } return 0; }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager