Bonjour,
Voila je cherche a déterminer une date, ou un écart de date a partir d'un datestamp.
Donc déjà pour déterminer une date, celle du jour par exemple, je récupère le stamp (en C++) et je fait ceci:
Alors déjà que pensez vous de cet algo?
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
18
19
20
21
22 //Donc on part du 1 1 1970 (Obligé c'est comme ça que le système donne le stamp Jour = 1, Mois = 1, Annee = 1970 //On rajoute au jour le nombre de jour du stamp Jour = Jour + (stamp/86400) //Ensuite on construit une date valide TANT QUE Mois > 12 OU Jour > NbrJoursMois(Mois, Annee) DEBUT SI Mois > 12 ALORS Annee = Annee + (Mois / 12) Mois = (Mois % 12 ? Mois % 12 : 1) FIN SI Jour > NbrJoursMois(Mois, Annee) ALORS Jour = Jour - NbrJoursMois(Mois, Annee) Mois = Mois + 1 FIN FIN
On fait en gros 450 passage pour calculer la date d'aujourd'hui a partir de ça, est ce raisonnable?
Et ensuite, et c'est la que j'ai mon soucis, c'est pour calculer l'écart entre deux dates.
Pour le moment je fais comme ceci:
Mais avec ceci j'ai un décalage. Ca ne fonctionne pas correctement.
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 //Je calcul 2 stamps Jour1 = 2, Mois1 = 6 , Annee1 = 2007 Jour2 = 2, Mois2 = 6 , Annee2 = 2008 SI Mois1 <= 2 ALORS Annee1 = Anne1 - 1 Mois1 = Mois1 + 13 SINON Mois1 = Mois1 + 1 FIN Stamp1 = ((1461 * Annee1) / 4) + ((153 * Mois1) / 5) + Jour1 SI Mois2 <= 2 ALORS Annee2 = Anne2 - 1 Mois2 = Mois2 + 13 SINON Mois2 = Mois2 + 1 FIN Stamp2 = ((1461 * Annee2) / 4) + ((153 * Mois2) / 5) + Jour2 //On fait la difference des stamps et on prend la valeur absolue DiffStamps = |Stamp2 - Stamp1| //On calcule le nombre d'années, de mois et de jours NbrAnnees = DiffStamps / 365.25 Reste = DiffStamps % 365.25 NbrMois = Reste / 30 Reste = Reste % 30 NbrJours = Reste
Et je n'ai pas réussi a déterminer une autre manière.
Merci pour votre aide
Partager