Вы можете использовать datetime.replace()
:
from datetime import datetime
d = "2015-06-12"
x = datetime.strptime(d, "%Y-%m-%d").replace(hour=10, minute=23)
Для печати в нужном формате вы можете использовать datetime.strftime()
:
print(x.strftime("%Y%m%d %H:%M:%S %Z"))
НО не будет печататься имя часового пояса (% Z), поскольку созданный datetime
объект не имеет информации о часовом поясе. Вы можете добавить его вручную, указав разницу времени между UTC и часовым поясом:
from datetime import datetime, timezone, timedelta
x = datetime.strptime(d, "%Y-%m-%d").replace(hour=10, minute=23,
tzinfo=timezone(timedelta(hours=6), name="CST"))
или установить местный часовой пояс:
x = datetime.strptime(d, "%Y-%m-%d").replace(hour=10, minute=23,
tzinfo=datetime.utcnow().astimezone().tzinfo)