我从类似问题的其他答案(https://stackoverflow.com/a/2031297/940208)中尝试了一些建议,到目前为止我所做的是:
t = datetime.datetime.today()
tomorrow = datetime.datetime(t.year,t.month,t.day+1,10,0)
问题是,当我们有一个月的最后一天时,这将失败:
ValueError: day is out of range for month
那么我怎样才能重写这个陈述(没有把它包装成IF条件试图找到它,这是最后一天)来包含这种情况呢?
另一个问题是 - 这样的计时器的时区是什么?我如何处理当前(系统)时区?
答案 0 :(得分:1)
使用datetime.datetime.replace
和datetime.timedelta
:
tomorrow = t.replace(hour=10, minute=0, second=0, microsecond=0) + \
datetime.timedelta(days=1)
备选方案:
tomorrow = datetime.datetime.combine(t.date(), datetime.time(10)) + \
datetime.timedelta(days=1)
tomorrow = datetime.datetime(t.year, t.month, t.day, 10) + \
datetime.timedelta(days=1)