2016-12-01 1 views
0

스피 인도 표준 시간UnknownTimeZoneError 'IST': 'IST'apscheduler에 대한이

scheduler.add_job('cron',start_date=date, hour=time[0], minute=time[1], id=str(job[0]),timezone='IST') 

그러나 모든 시간의 오류 UnknownTimeZoneError을 제공에 따라 apscheduler에 작업을 추가 시도해도. 스케줄러가 EST, UTC 등을 허용하지만 IST는 허용하지 않습니다.

IST는 인도 표준시의 정확한 표준 시간대입니까? IST에 따라 어떻게 일을 스케줄 할 수 있습니까?

답변

1

comments in source code에 따르면 당신은 스케줄러에 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) 

업데이트 : 파이썬 2 콘크리트를 제공하지 않습니다 tzinfo 클래스의 구현은 가능하지만 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 
+0

는 시간대 모듈은 2.7.12에서 해독되어 있습니까? 왜냐하면 나에게 모듈 시간대가없는 에러 객체를주기 때문이다. 다른 패키지를 가져와야합니까? –

+0

@ketankhandagale Python 2에 업데이트되었습니다. – niemmi

+0

감사합니다 !! .. tz = pytz.timezone ('Asia/Calcutta') .....를 사용했습니다. :) –

관련 문제