我在我的程序中使用 APScheduler 在特定日期时间安排工作。但是,我正在处理与本地时间不同时区的日期时间。所以我传递给 APScheduler 的日期时间总是一个时区感知的日期时间......
sched.add_date_job(my_job, exec_date, ['text'])
我总是得到:无法比较来自 APScheduler 的 offset-naive 和 offset-aware 日期时间......
请帮忙...
我在我的程序中使用 APScheduler 在特定日期时间安排工作。但是,我正在处理与本地时间不同时区的日期时间。所以我传递给 APScheduler 的日期时间总是一个时区感知的日期时间......
sched.add_date_job(my_job, exec_date, ['text'])
我总是得到:无法比较来自 APScheduler 的 offset-naive 和 offset-aware 日期时间......
请帮忙...
使用新版本的 APScheduler (3.4.0),您可以如下设置时区:
from apscheduler.schedulers.background import BackgroundScheduler
scheduler = BackgroundScheduler({'apscheduler.timezone': 'UTC'})
from apscheduler.schedulers.background import BackgroundScheduler
scheduler = BackgroundScheduler({'apscheduler.timezone': 'Europe/London'})
来源:http ://apscheduler.readthedocs.io/en/latest/userguide.html#configuring-the-scheduler
APScheduler 2.x 不支持时区。但是,这已在 APScheduler 3.0 中得到修复。坏消息是 3.0 尚未发布,API 也尚未最终确定。好消息是困难的部分已经完成,我已承诺在 2014 年第二季度交付 3.0。
感谢 Alex 提供的信息,预计我很快就会使用 APScheduler 3.0。同时,我尝试通过将 scheduler.py 中出现的任何 datetime.now() 更改为 datetime.now(timezone("utc")) 来修补 2.x 版本以支持时区,并且我总是使用时区安排作业知道日期时间..它似乎对我有用..