Aide : fonction datetime

Fermé
Emzm - 25 mars 2020 à 19:38
yg_be Messages postés 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 - 25 mars 2020 à 21:01
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

yg_be Messages postés 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
Modifié le 25 mars 2020 à 20:24
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
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
yg_be Messages postés 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477 > Emzm
Modifié le 25 mars 2020 à 21:03
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