gpt4 book ai didi

python - 如何修改日期字符串中的日期

转载 作者:行者123 更新时间:2023-12-02 18:49:18 25 4
gpt4 key购买 nike

我已经看到了一些关于此的威胁,但我不太确定如何做我的。我有一个字符串日期 (DD/MM/YY),然后我需要将日期减去 2,然后将其更改为 (MM/DD/YY)。例如,如果我有一个字符串 01/04/2021,我需要最终输出为 03/30/2021。我尝试过使用 datetime.date 但似乎我无法在其中放入 01/04/2021 的字符串。有什么帮助吗?这是我到目前为止所得到的,但它并没有真正起作用,我不太了解日期时间库,所以它有点令人困惑,提前抱歉。

import datetime as dt
from dateutil.relativedelta import relativedelta
date_1 = '01/04/2021'
date_2 = list(date_1)
date_2[0:2], date_2[3:5] = date_2[3:5], date_2[0:2]
date_2 = ''.join(date_2) # change date_1 to MM/DD/YY
print(dt.date(int(date_2[0:4]),int(date_2[5:7]), int(date_2[8:10])) - relativedelta(days=2)) # i tried to minus the day out, but the code fails,
#Here is the error, in case it helps, ValueError: invalid literal for int() with base 10: '04/0'

最佳答案

您可以使用timedeltastrptimestrftime

from datetime import datetime    
from datetime import timedelta
d = '01/04/2021'

print((datetime.strptime(d, '%d/%m/%Y') - timedelta(days=2)).strftime('%m/%d/%y'))
#03/30/21

说明

datetime.strptime:此函数允许您获取字符串、提供格式并返回datetime 对象。

datetime.strptime(d, '%d/%m/%Y')
datetime.datetime(2021, 4, 1, 0, 0)

datetime.timedelta:允许我们在datetime对象上添加和减去时间。

datetime.strptime(d, '%d/%m/%Y') - timedelta(days=2)
datetime.datetime(2021, 3, 30, 0, 0)

datetime.strftime:允许我们将日期时间对象格式化为我们指定格式的字符串

datetime(2021, 3, 30, 0, 0).strftime('%m/%d/%y')
'03/30/21'

将这些结合在一起,我们可以将您的字符串转换为日期,对我们想要的日期进行更改,然后将其转换回字符串

关于python - 如何修改日期字符串中的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66998551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com