django 如何使用python更改时间示例的日期?

r1zhe5dt  于 2022-12-24  发布在  Go
关注(0)|答案(2)|浏览(107)

我有一个start_time变量,用于存储时间字符串。

start_time = '2022-12-21 22:00:00'

现在使用python,我想将开始时间的日期更改为

start_time = '2022-12-28 22:00:00'

我已经用非常丑陋的方法做了这件事。请告诉我简单和最好的方法。
我尝试使用以下代码。

#its not string its time instance
   replacing_date = 2022-12-28 00:00:00
   #converting time into string 
   replacing_date = datetime.strptime(replacing_date,'%Y-%m-%d %H:%M:%S')

   replacing_date =replacing_date.split(" ")
   start_time = start_time.split(" ")
   start_time = datetime.strptime(replacing_date[0]+start_time[1],'%Y-%m-%d %H:%M:%S')

基本上,我必须改变日期在许多地方。这似乎不是一件好事,在这种情况下。它可以打破,如果时间字符串格式的变化。它也可以打破,如果年或月的变化。例如,日期改变。

start_time = '2023-01-01 22:00:00'
1l5u6lss

1l5u6lss1#

您可以使用datetime.replace(..)

from datetime import datetime

start_time = "2022-12-21 22:00:00"

new_time = datetime.strptime(start_time, "%Y-%m-%d %H:%M:%S").replace(day=28)

print(new_time)
    • 输出:**

2022年12月28日22时00分
或正则表达式:

import re

new_time = re.sub(r"\d{4}-\d{2}-\d{2}", "2022-12-28", "2022-12-21 22:00:00", 0)

print(new_time)
    • 输出:**

2022年12月28日22时00分

li9yvcax

li9yvcax2#

from datetime import datetime, timedelta
start_time = '2022-12-21 22:00:00'
replacing_date = datetime.strptime(start_time,'%Y-%m-%d %H:%M:%S')
new_time = replacing_date+timedelta(days=7)
print(new_time)

输出:
第一个月
使用时间增量来改变时间。

相关问题