【问题标题】:substracting datetime object on date level在日期级别减去日期时间对象
【发布时间】:2021-07-16 11:47:41
【问题描述】:

所有答案都需要小时、分钟、秒等... 像这样:

from datetime import datetime
datetime.today() - datetime.timedelta(days=1)

我不想创建包含所有小时、分钟、秒等的日期时间对象...

有没有办法在更高级别上添加和减去日期(日期?)

我想要的:

dt = "20210601"
st_date = dt - 30days
print(st_date)
>>> "2021-05-02"

我尝试了什么:

datetime.strptime("20210601", "%Y%m%d") - datetime.timedelta(days=30)

输出 AttributeError: type object 'datetime.datetime' has no attribute 'timedelta' 我假设它需要所有小时、分钟、秒等...

【问题讨论】:

    标签: python datetime


    【解决方案1】:

    尝试使用timedelta 函数代替datetime.timedelta 函数:

    from datetime import datetime, timedelta
    stdate = datetime.strptime("20210601", "%Y%m%d") - timedelta(days=30)
    print(stdate)
    

    输出:

    2021-05-02 00:00:00
    

    【讨论】:

    • 忘记接受它作为答案。这是完美的,谢谢!
    猜你喜欢
    • 2020-03-26
    • 1970-01-01
    • 2020-07-26
    • 2020-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多