在 python 日期时间对象中写入特定时间

write specific hour in a python datetime object

我需要暂停程序直到第二天 08:00,独立于代码为 运行 的时间。换句话说,如果今天 08:00 是 运行 它将暂停 24 小时,但是 20:00 是 运行 它将在 08:00 恢复下一个日期。

这是我想出的:

from datetime import datetime, timedelta
nowDateTimeObj = datetime.now()
tomorrow = nowDateTimeObj + timedelta(days=1)
tomorrow.hour = 8

将 1 天的时间增量添加到 nowDateTimeObj 日期时间对象可以很好地将日期更改为明天,但生成的时间相对于现在是 24 小时。我想使用这个“明天”日期时间对象并将小时部分设置为 08:00

但我收到以下错误:

error: attribute 'hour' of 'datetime.datetime' objects is not writable

好吧,我确实找到了解决方案:

明天 = tomorrow.replace(小时=8)

谢谢大家!

有多种方法可以做到这一点,我提供下面的示例只是因为它对我来说更具可读性。

from datetime import datetime, date

today = date.today()
tomorrow = datetime(today.year, today.month, today.day+1)
tomorrow_8am = tomorrow.replace(hour=8)

print(today_date, tomorrow_8am)