Calcul de l'écart entre deux dates

Présentation
A partir de deux dates la fonction Diff calcul le nombre de jours qui sépare ces deux dates, en tenant compte des années bissextiles.
Téléchargement
Compatibilité
Linux Mac Windows
0  0 
Téléchargé 89 fois Voir les 6 commentaires
Détails
Éditeur : beyo   +
Licence : Non renseignée
Date de mise en ligne : 30 novembre 2010




Avatar de pottiez pottiez - Responsable Magazine https://www.developpez.com
le 30/11/2010 à 16:14
Bonjour, Je vous propose un nouvel élément à utiliser : Calcul de l'écart entre deux dates

A partir de deux dates la fonction Diff calcul le nombre de jours qui sépare ces deux dates, en tenant compte des années bissextiles.

Qu'en pensez-vous ?
Avatar de Roland Chastain Roland Chastain - Rédacteur/Modérateur https://www.developpez.com
le 29/10/2014 à 7:49
Citation Envoyé par pottiez Voir le message
Qu'en pensez-vous ?
Bonjour ! Il me semble qu'il y a deux petites choses à corriger dans le code.

Code : Sélectionner tout
NJ += 365;//364;
Code : Sélectionner tout
NJ += NJ2;//NJ2+1;
P.-S. On peut aussi ajouter ceci, pour le cas où la date postérieure est passée en premier :

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int diff(int j1, int m1, int a1, int j2, int m2, int a2)
{
  ...
  int j3, m3, a3;
  
  if (
    (a1 > a2) ||
    ((a1 == a2) && (m1 > m2)) ||
    ((a1 == a2) && (m1 == m2) && (j1 > j2))
  )
  {
    j3 = j1;
    m3 = m1;
    a3 = a1;
    j1 = j2;
    m1 = m2;
    a1 = a2;
    j2 = j3;
    m2 = m3;
    a2 = a3;
  }
Avatar de PLU74 PLU74 - Candidat au Club https://www.developpez.com
le 17/05/2019 à 16:15
je cherche une fonction similaire
retourner la date décalée d'une date initiale d'un certain nombre de jours entier, positif ou négatif.
Dans mon cas les deux dates sont dans le même siècle, mais cela changera d'ici 3 mois.
Pour l'instant j'utilise la time.h du package minGW.
Je programme très occasionnellement ...

Merci
Avatar de PLU74 PLU74 - Candidat au Club https://www.developpez.com
le 17/05/2019 à 19:45
je trouve 10 jours d'écart avec mon calcul !
nb de jours du 16/5/19 au 30/08/99 ---> 29357
selon Diff Diff(16,5,19,30,8,99) = 29347 !

ton code m'a permis de vérifier le mien ! Merci
Avatar de droggo droggo - Expert confirmé https://www.developpez.com
le 18/05/2019 à 13:31
Bonjour,

Il en a déjà été question, et à mon avis, la meilleure solution est de
convertir les 2 dates en Jour Julien
et faire la différence.

Le calcul du Jour Julien intègre toutes les variations du calendrier,
ce qui résout tes problèmes de calcul.

On trouve facilement comment faire ce calcul, il y a même des sites qui le feront pour toi.
Avatar de PLU74 PLU74 - Candidat au Club https://www.developpez.com
le 18/05/2019 à 15:08
Et la fonction qui convertit le jour julien en date ou en jour/mois/an ?
En fait je pars d'une date , j'y ajoute n jours et je veux la nouvelle date, si possible en jour,mois,année ...
J'ai bidouillé qque chose à base d'année moyenne de 365.25 jours et de mois moyen de 365.25/12 ..

ce n'est pas encore tip top.
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.