0
votes

Je ne sais pas comment soustraire des dates

Donc, dans mon projet, j'essaie de calculer une transaction boursière et l'un des champs m'oblige à soustraire les dates 15/04/2018 (date d'achat) 27/04/2018 (date de vente) mais, je ne le suis pas savoir comment procéder pour soustraire.

J'ai essayé de soustraire comme 04/15 / 2018-04 / 27/2018, mais puisque cela n'aurait pas de sens logiquement, je ne sais pas comment faire cela.


0 commentaires

3 Réponses :


1
votes

Transformez-les en dates puis vous pouvez simplement les soustraire, voir datetime.datetime.strptime () , par exemple:

In []:
from datetime import datetime
d1 = datetime.strptime('04/15/2018', '%m/%d/%Y')
d2 = datetime.strptime('04/27/2018', '%m/%d/%Y')
d1 - d2

Out[]:
datetime.timedelta(days=-12)`


0 commentaires

0
votes

Vous voudrez examiner de plus près le datetime code > package dans la bibliothèque standard. Un autre package utile serait dateutil qui a un niveau supérieur fonctions d'analyse.

Vous pouvez faire quelque chose comme

start_date = "04/15/2018"  # note that this is a string
end_date = "04/27/2018"

from dateutil.parser import parse
start_dt = parse(start_date)
end_dt = parse(end_date)

time_delta = end_dt - start_dt

# get the time between the two dates in different units
days_between_dates = time_delta.days
seconds_between_dates = time_delta.total_seconds()


0 commentaires

0
votes

En empruntant à cette réponse Différence entre deux dates en Python , datetime.datetime.strptime peut effectuer le calcul de la date:

12

sortie:

from datetime import datetime

def days_between(d1, d2):
    d1 = datetime.strptime(d1, '%m/%d/%Y')
    d2 = datetime.strptime(d2, '%m/%d/%Y')
    return abs((d2 - d1).days)  # ensures a positive return value

print(days_between('04/15/2018', '04/27/2018'))


0 commentaires