UnknownTimeZoneError: 'IST' for apscheduler
UnknownTimeZoneError: 'IST' for apscheduler
我正在尝试根据印度标准时间在 apscheduler 中添加作业
scheduler.add_job('cron',start_date=date, hour=time[0], minute=time[1], id=str(job[0]),timezone='IST')
但每次都会报错 UnknownTimeZoneError: 'IST'。
调度程序正在接受 EST、UTC 等,但不接受 IST。
印度标准时间的 IST 时区是否正确?如果不是,我如何根据 IST 安排工作?
根据调度程序的 comments in source code you can pass datetime.tzinfo
对象:
:param str|datetime.tzinfo timezone: the default time zone (defaults to the local timezone)
考虑到以上内容,您可以尝试以下操作:
import datetime
tz = datetime.timezone(datetime.timedelta(hours=5, minutes=30))
scheduler.add_job('cron',start_date=date, hour=time[0], minute=time[1], id=str(job[0]),timezone=tz)
更新: Python 2 不提供 tzinfo
class 的具体实现,但您可以 roll your own:
import datetime
class IST(datetime.tzinfo):
def utcoffset(self, dt):
return datetime.timedelta(hours=5, minutes=30)
def tzname(self, dt):
return "IST"
def dst(self, dt):
return datetime.timedelta()
tz = IST()
print datetime.datetime.now(tz)
输出:
2016-12-01 14:33:37.031316+05:30
我正在尝试根据印度标准时间在 apscheduler 中添加作业
scheduler.add_job('cron',start_date=date, hour=time[0], minute=time[1], id=str(job[0]),timezone='IST')
但每次都会报错 UnknownTimeZoneError: 'IST'。 调度程序正在接受 EST、UTC 等,但不接受 IST。
印度标准时间的 IST 时区是否正确?如果不是,我如何根据 IST 安排工作?
根据调度程序的 comments in source code you can pass datetime.tzinfo
对象:
:param str|datetime.tzinfo timezone: the default time zone (defaults to the local timezone)
考虑到以上内容,您可以尝试以下操作:
import datetime
tz = datetime.timezone(datetime.timedelta(hours=5, minutes=30))
scheduler.add_job('cron',start_date=date, hour=time[0], minute=time[1], id=str(job[0]),timezone=tz)
更新: Python 2 不提供 tzinfo
class 的具体实现,但您可以 roll your own:
import datetime
class IST(datetime.tzinfo):
def utcoffset(self, dt):
return datetime.timedelta(hours=5, minutes=30)
def tzname(self, dt):
return "IST"
def dst(self, dt):
return datetime.timedelta()
tz = IST()
print datetime.datetime.now(tz)
输出:
2016-12-01 14:33:37.031316+05:30