Добавить время после; Вы можете сделать это с datetime.replace()
method для создания нового объекта datetime
:
my_time = datetime.datetime.strptime('07/05/15', '%m/%d/%y')
my_time = my_time.replace(hour=23, minute=59)
datetime.strptime()
устанавливает значение часов и минут по умолчанию, 0
. Обратите внимание, что в течение двухзначного года (например, 15
) вы использовали бы %y
, а не %Y
, который предназначен для четырехзначного года.
Вы также можете использовать datetime.combine()
class method в пару с date
и time
объекта:
my_time = datetime.datetime.strptime('07/05/15', '%m/%d/%y')
my_time = datetime.datetime.combine(my_time.date(), datetime.time(23, 59))
Если вы чувствуете, что вы должны использовать timedelta()
, примите во внимание, что добавление будет снова произвести новый объект datetime
. Вы можете использовать дополненную задание, чтобы добавить его «на месте»:
my_time = datetime.datetime.strptime('07/05/15', '%m/%d/%y')
my_time += datetime.timedelta(hours=23, minutes=59)
Демо:
>>> import datetime
>>> my_time = datetime.datetime.strptime('07/05/15', '%m/%d/%y')
>>> my_time.replace(hour=23, minute=59)
datetime.datetime(2015, 7, 5, 23, 59)
>>> datetime.datetime.combine(my_time.date(), datetime.time(23, 59))
datetime.datetime(2015, 7, 5, 23, 59)
>>> my_time + datetime.timedelta(hours=23, minutes=59)
datetime.datetime(2015, 7, 5, 23, 59)
Что код, который вы используете? Это работает для меня –
Вы спрашиваете, есть ли у вас «пробованный» код, но не опубликованные работы? Если вы знаете, что это не сработает, что вы ожидаете, что кто-нибудь расскажет вам об этом, не увидев код? –