Partage
  • Partager sur Facebook
  • Partager sur Twitter

datediff sur differentes dates

    19 janvier 2020 à 18:40:51

    Bonsoir tout le monde,  

    Mon problème est simple à comprendre.

    Je veux comparer la distance entre des dates.  Par exemple, dans ma base de données j'ai 10 dates differentes.

    Je cherche un faire un programme qui me permettrai de calculer la difference entre la date 1 et 2,  la difference de jour entre la date 1 et 3  jusque 10   puis ensuite la difference entre la date 2 et 3  puis entre la date 2 et 4 jusque 10  puis la diff entre 3 et 4  .......   ainsi de suite,

    Soit une complexité de n²  , ce qui est mauvais   mais je ne vois pas comment faire autrement.

    Je voudrais donc savoir s'il etait possible de faire ça sur plusieurs date.

    Car j'ai déjà réalisé pour une difference entre 2 dates mais pour réaliser ce que je viens de dire ci dessous je sais pas comment m'y prendre en python.

    Merci d'avance à toutes les personnes ayant pris le temps de me lire !!

    • Partager sur Facebook
    • Partager sur Twitter
      20 janvier 2020 à 9:23:14

      >>> from datetime import date
      >>> d1 = date(2015, 5, 12)
      >>> d2 = date(2020, 1, 20))
      >>> diff = d2 - d1
      >>> diff
      datetime.timedelta(days=1714)
      >>> diff.days
      1714
      
      • Partager sur Facebook
      • Partager sur Twitter
        26 janvier 2020 à 13:34:15

        Bonjour, désolé de répondre aussi tard,

        Ce que vous avez fait est uniquement pour 2 dates, mais comme dit dans mon problème, je cherche pas à faire cela, je cherche a comparer plusieurs dates entre elles.

        Par exemple  d1=date(2015,5,12)

        d2=date(2020,1,20)

        d3=(2020,1,20)

        d4=(2021,2,23)   

        .......

         Et ceci jusque des centaines de dates.  Je cherche donc a comparer la date 1 avec la date 2 3 4 5 6 ........    puis la date 2 avec la date 3 4 5 6 7 ........      ainsi de suite.   Je sais bien que la compléxité de cette algorithme sera de n²,  mais je cherche à faire cela pour l'instant.

        Merci de votre aide

        • Partager sur Facebook
        • Partager sur Twitter
          27 janvier 2020 à 0:08:31

          beh tu fais ça mais plein de fois ...
          Tu connais les boucles for ?
          • Partager sur Facebook
          • Partager sur Twitter
            27 janvier 2020 à 19:00:51

            Tu  pourrais mettre tes dates dans une liste et ensuite parcourir ta liste grâce a un for

            Voila un code qui marche pour moi

            from datetime import date
            
            liste_de_date = [date(2015,5,12),
            	date(2020,1,20),
            	date(2020,1,21),
            	date(2030,2,3)] #Création de la liste de date
            
            dictionnaire_de_sortie = {} #un dictionnaaire qui contiendra la sortie
            
            for x in range(len(liste_de_date)): #pour chaque date
            	for y in range(len(liste_de_date)): #parcours tout les date
            		if y > x: #pour les dates non-parcourus
            			dictionnaire_de_sortie["distance entre le {} et le {}".format(liste_de_date[x]\
            				,liste_de_date[y])] = abs(liste_de_date[x]-liste_de_date[y]) #ajoute la distance entre les deux ...
            				#... dates au dictionnaire
            
            for x in dictionnaire_de_sortie :
            	print(x," : ",dictionnaire_de_sortie[x]) #pour chaque index du dictionnaire l'affiche dans la console et sa valeur

            Si tu ne comprends pas quelque chose tu peux me demander

            Bonne soirée

            Edit:Seul bémol : si tu mets 2 dates identique dans la liste, sa les sautes

            -
            Edité par RokonioAnt 27 janvier 2020 à 19:02:17

            • Partager sur Facebook
            • Partager sur Twitter

            datediff sur differentes dates

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown