Python set datetime hour to be a specific time
datetime, python
Solution
First, change `datetime.date.today()` to `datetime.datetime.today()` so that you can manipulate the time of the day.
Then call `replace` before turning the time into a string.
So instead of:
PERIOD=yesterday.strftime ('%Y-%m-%d')
new_period=PERIOD.replace(hour=23, minute=30)
Do this:
new_period=yesterday.replace(hour=23, minute=30).strftime('%Y-%m-%d')
print new_period
Also keep in mind that the string you're converting it to displays no information about the hour or minute. If you're interested in that, add `%H` for hour and `%M` for the minute information to your format string.
Problem
I am trying to get the date to be yesterday at 11.30 PM. Here is my code: ``` import datetime yesterday = datetime.date.today () - datetime.timedelta (days=1) PERIOD=yesterday.strftime ('%Y-%m-%d') new_period=PERIOD.replace(hour=23, minute=30) print new_period ``` however i am getting this error: ``` TypeError: replace() takes no keyword arguments ``` any help would be appreciated.