Aide : fonction datetime

Emzm -  
yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai un programme en python à faire qui consiste à donner la date d'un jour quelconque du futur, et cette fonction vous renvoie la différence des jours ( entre aujourd’hui et le jour choisi).
voici mon programme :

import datetime
def diff(d3,d2,d1) :
date=datetime.datetime.now()
str(date)
da1=date.year
da2=date.month
da3=date.day
from datetime import date
jour=date(da1,da2,da3)
exp=date(d3,d2,d1)
delta=exp-jour
return delta

voici un exemple + son exécution
>>> diff(2022,1,12)
datetime.timedelta(days=658)

le problème c'est que je n'arrive pas à extraire ce nombre (658)

Configuration: Windows / Chrome 80.0.3987.149

1 réponse

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour, avant tout, merci de correctement utiliser les balises de code quand tu postes du code sur ce site:
    https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

    quel est le problème? qu'essaies-tu d'extraire de quoi?
    que fait ton programme, et que voudrais-tu qu'il fasse?
    0
    1. Emzm
       
      comme je vous ai montré dans l'exemple quand j'applique ma fonction à la date 12/01/2022 elle me donne comme réponse ( à l'exsecution) :
      datetime.timedelta(days=658)
      mais je n'arrive pas à extraire le nombre 658 ( pour l'utiliser en tant q'un nombre pour que je puisse le comparer avec d'autre valeurs).
      Merci beaucoup .
      0
      1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Emzm
         
        ta fonction ne fait pas ce que tu imagines, elle ne renvoie pas le nombre de jours, elle renvoie une durée.
        ceci te renvoie le nombre de jours:
        def diffjour(d3,d2,d1) :
            date=datetime.datetime.now()
            str(date)
            da1=date.year
            da2=date.month
            da3=date.day
            jour=datetime.date(da1,da2,da3)
            exp=datetime.date(d3,d2,d1)
            delta=exp-jour
            return delta.days
        0