IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Télécharger C Discussion :

Calcul de l'écart entre deux dates [Sources]


Sujet :

Télécharger C

  1. #1
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut Calcul de l'écart entre deux dates
    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 ?
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  2. #2
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 070
    Points : 15 457
    Points
    15 457
    Billets dans le blog
    9
    Par défaut
    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.

    P.-S. On peut aussi ajouter ceci, pour le cas où la date postérieure est passée en premier :

    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
    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;
      }
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  3. #3
    Candidat au Club
    Homme Profil pro
    Contourneur de bug
    Inscrit en
    Mai 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Contourneur de bug
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2019
    Messages : 3
    Points : 4
    Points
    4
    Par défaut bonjour
    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

  4. #4
    Candidat au Club
    Homme Profil pro
    Contourneur de bug
    Inscrit en
    Mai 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Contourneur de bug
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2019
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Erreur ?
    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

  5. #5
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    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.
    Si les cons volaient, il ferait nuit à midi.

  6. #6
    Candidat au Club
    Homme Profil pro
    Contourneur de bug
    Inscrit en
    Mai 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Contourneur de bug
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2019
    Messages : 3
    Points : 4
    Points
    4
    Par défaut jour julien
    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.

  7. #7
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Bonjour,
    Citation Envoyé par PLU74 Voir le message
    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 ..
    Je pensais qu'il serait clair que si tu utilises les Jours Juliens, tu disposeras également de la fonction inverse pour retrouver la date.

    Pour moi, ça tombe sous le sens
    Si les cons volaient, il ferait nuit à midi.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Calcul en nombre de jours l'écart entre deux dates
    Par theber dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 05/12/2014, 07h57
  2. calcul nombre de jours entre deux dates
    Par charlene44 dans le forum Langage
    Réponses: 7
    Dernier message: 21/08/2012, 14h06
  3. [LV 2009] Calcul écart entre deux dates/heures
    Par K-RK-S dans le forum LabVIEW
    Réponses: 3
    Dernier message: 10/09/2010, 10h04
  4. Réponses: 4
    Dernier message: 21/11/2008, 10h54
  5. calculer la temps moyen entre deux dates
    Par zainabsourid dans le forum BIRT
    Réponses: 1
    Dernier message: 24/07/2006, 12h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo