Différence entre deux dates
Bonjour,
Je vous propose un nouvel élément à utiliser : Différence entre deux dates
Déterminer le nombre de jours entre deux dates.
Le paramètre de la date est du type 22/05/1955 dont le type est une chaine de caractères.
La fonction parse pour analyser la chaine de caractères et retourner un objet date
La fonction days_diff pour déterminer le nombre de jours entre deux dates
Qu'en pensez-vous ?
Je ne comprends pas mon problème
Bonjour, je réponds à cette discussions très tardivement, mais je suis tombé dessus car j'avais besoin d'une façon de calculer la différence entre 2 jours.
Voici mon problème :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| def parse(my_date):
d, m, y = map(int, my_date.split('/'))
return date(y, m, d)
def days_diff(date_1, date_2):
"""date of type 15/05/1972"""
return ((parse(date_1)) - (parse(date_2))).days
def vac():
date_today=time.strftime('%d/%m/%Y',time.localtime())
#recuperation des dates vacances
tab_vac = pd.read_csv('vacances.csv' , delimiter =';', encoding='ISO-8859-1')
tab_vac = tab_vac.dropna(how='all') #Netoyage du tableau
tab_vac = tab_vac.dropna(axis =1, how='all') #Netoyage du tableau
long = len(tab_vac)
for n in range(1,long):
n_days = days_diff(DATE_1, DATE_2)
print(n_days)
if n_days >= 0:
print("oui")
DATE_1 = '25/05/1955'
DATE_2 = '28/08/2013'
n_days = days_diff(DATE_1, DATE_2) # 21280 days
print(n_days)
vac() |
Voici ma réponse :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| -21280
File "C:\Users\meine\Desktop\PAUL\AppliPython\prevV1.py", line 115, in <module>
vac()
File "C:\Users\meine\Desktop\PAUL\AppliPython\prevV1.py", line 29, in vac
n_days = days_diff(DATE_1, DATE_2)
File "C:\Users\meine\Desktop\PAUL\AppliPython\prevV1.py", line 19, in days_diff
return ((parse(date_1)) - (parse(date_2))).days
File "C:\Users\meine\Desktop\PAUL\AppliPython\prevV1.py", line 15, in parse
return date(y, m, d)
TypeError: 'str' object is not callable |
Donc j'appelle la fonction dans le programme principal cela fonctionne très bien, malheureusement quand je l'itére dans une autre fonction cela ne focntionne pas ( et pourtant je lui donne les même variable pour le moment donc je ne comprends vraiment pas pourquoi.
Avez-vous une idée d'où cela pourrait provenir ?
Merci pour votre aide.