我已经使用以下命令成功地将26 Sep 2012
格式转换为26-09-2012
格式:
datetime.strptime(request.POST['sample_date'],'%d %b %Y')
但是,我不知道如何将类似上述内容的小时和分钟设置为11:59。有人知道怎么做吗?
请注意,这可以是未来的日期,也可以是任何随机日期,而不仅仅是当前日期。
发布于 2012-09-18 08:28:25
from datetime import datetime
dt = datetime.strptime('26 Sep 2012', '%d %b %Y')
newdatetime = dt.replace(hour=11, minute=59)
同样值得注意的是:datetime.replace
返回datetime
的一个新副本(因为datetime
是不可变的):在这一点上它类似于str.replace
。
发布于 2017-05-12 16:48:54
datetime.replace()将提供最好的选择。此外,它还提供了替换日、年和月的功能。
假设我们有一个datetime
对象,日期表示为:"2017-05-04"
>>> from datetime import datetime
>>> date = datetime.strptime('2017-05-04',"%Y-%m-%d")
>>> print(date)
2017-05-04 00:00:00
>>> date = date.replace(minute=59, hour=23, second=59, year=2018, month=6, day=1)
>>> print(date)
2018-06-01 23:59:59
发布于 2020-07-27 16:14:05
如果您有一个作为datetime.datetime
(或datetime.date
)实例的date,并且希望通过datetime.time
实例中的time来组合它,那么可以使用类方法datetime.datetime.combine
import datetime
dt = datetime.datetime(2020, 7, 1)
t = datetime.time(12, 34)
combined = datetime.datetime.combine(dt.date(), t)
https://stackoverflow.com/questions/12468823
复制相似问题