Python tornado.ioloop.ioloop.current().time()不在我的时区中,如何配置时区偏移?
tornado.ioloop.ioloop.current().time()给出了Zulu。我如何获得我的时区时间,在IOLoop中添加秒作为截止时间。添加超时(截止时间),以便将来正确触发超时Python tornado.ioloop.ioloop.current().time()不在我的时区中,如何配置时区偏移?,python,timezone,tornado,timezone-offset,Python,Timezone,Tornado,Timezone Offset,tornado.ioloop.ioloop.current().time()给出了Zulu。我如何获得我的时区时间,在IOLoop中添加秒作为截止时间。添加超时(截止时间),以便将来正确触发超时 我的时间是+1h,它不会触发,因为已经通过了60s i IOLoop.add_超时(60)。但在夏季,我有+2h,所以我必须在夏季和冬季正确添加时区偏移量…幸运的是,这不是与时区相关的问题。让你困惑的可能是期限和延迟术语。谢天谢地,公司的文件非常清楚 截止日期可以是表示时间的数字(与IOLoop.tim
我的时间是+1h,它不会触发,因为已经通过了60s i IOLoop.add_超时(60)。但在夏季,我有+2h,所以我必须在夏季和冬季正确添加时区偏移量…幸运的是,这不是与时区相关的问题。让你困惑的可能是期限和延迟术语。谢天谢地,公司的文件非常清楚 截止日期可以是表示时间的数字(与IOLoop.time的比例相同,通常为time.time),也可以是相对于当前时间的截止日期的datetime.timedelta对象。自Tornado 4.0以来,对于相对情况,稍后调用_是一个更方便的选择,因为它不需要timedelta对象 代码如下:
IOLoop.current().add_timeout(60, some_func)
实际上是指在unix epoch(1970年1月1日UTC的00:00:00)60秒后运行函数,而不是从现在开始(time.time()
)。所以它马上就可以装配了
正如docs所说,您可以
- 将延迟作为timedelta对象传递
import datetime IOLoop.current().add_timeout(datetime.timedelta(seconds=60), some_func)
- 或使用
IOLoop.current().call_later(delay=60, some_func)