1

根据Convert UTC to local time to UTC in Python and Google App Engine,为了正确比较现在的时间和目标时间(考虑不同的时区),我必须将目标时间转换为 UTC,如下所示:

import pytz

def toUTC(date, tz):
    tz = pytz.timezone('Asia/Taipei')
    utc = pytz.timezone('UTC')
    d_tz = tz.normalize(tz.localize(date))
    d_utc = d_tz.astimezone(utc)
    return d_utc

days = 10
minutes = 20
targetTime = datetime.datetime(2012,12,22,0,0,0)
targetTime = targetTime + datetime.timedelta(days=days, minutes=minutes)
targetTime = toUTC(targetTime) 

if targetTime < datetime.datetime.now():
    ...

问题:

  1. 这个对吗?
  2. 有一条错误消息:

    TypeError: can't compare offset-naive and offset-aware datetimes

    如何解决?

4

1 回答 1

1

这是因为您的一个datetime对象设置了时区,而另一个对象没有。
看看这里这里

于 2012-12-23T09:14:41.260 回答