0

我从其他类似问题的答案(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 条件中试图找到它这是最后一天)以包括这种情况?

另一个问题是 - 这种计时器的时区是什么,我如何在当前(系统)时区工作?

4

1 回答 1

1

使用datetime.datetime.replacedatetime.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)
于 2013-09-04T08:56:16.020 回答