Python 3.x I';我不知道如何减去日期

Python 3.x I';我不知道如何减去日期,python-3.x,Python 3.x,因此,在我的项目中,我试图计算一笔股票交易,其中一个字段要求我减去日期2018年4月15日(买入日期)2018年4月27日(卖出日期),但我不确定如何进行减去 我尝试过像2018年4月15日-2018年4月27日那样进行减法,但由于这在逻辑上没有意义,我不确定如何进行减法。将它们转换为日期,然后你可以简单地进行减法,例如: 您需要更深入地了解标准库中的包。另一个有用的包是,它有一些更高级的解析函数 你可以这样做 start_date = "04/15/2018" # note that thi

因此,在我的项目中,我试图计算一笔股票交易,其中一个字段要求我减去日期2018年4月15日(买入日期)2018年4月27日(卖出日期),但我不确定如何进行减去


我尝试过像2018年4月15日-2018年4月27日那样进行减法,但由于这在逻辑上没有意义,我不确定如何进行减法。

将它们转换为日期,然后你可以简单地进行减法,例如:


您需要更深入地了解标准库中的包。另一个有用的包是,它有一些更高级的解析函数

你可以这样做

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()

借用此答案,模块可以进行日期计算:

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'))
输出:

12
12