我正在尝试将日期设为昨天晚上 11.30。
这是我的代码:
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
但是我得到了这个错误:
TypeError: replace() takes no keyword arguments
任何帮助将不胜感激。
最佳答案
首先,将 datetime.date.today()
更改为 datetime.datetime.today()
以便您可以操纵一天中的时间。
然后在把时间变成字符串之前调用replace
。
所以而不是:
PERIOD=yesterday.strftime ('%Y-%m-%d')
new_period=PERIOD.replace(hour=23, minute=30)
这样做:
new_period=yesterday.replace(hour=23, minute=30).strftime('%Y-%m-%d')
print new_period
还请记住,您将其转换为的字符串不显示有关小时或分钟的信息。如果您对此感兴趣,请将 %H
小时和 %M
分钟信息添加到格式字符串中。
关于Python将日期时间小时设置为特定时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23642676/