2015-12-15 7 views
1

Я написал простую схему отопления дома, используя Apschedule(3.0.5) на Raspberrypi(Jessie). Я использую метод next_run_time как способ сделать заказную версию сродни методу print_jobs. Однако выход находится в GMT, что довольно сбивает с толку, поскольку компьютер находится в центральной Европе и использует/выводит CET для всех остальных целей (локаль настроена на венгерский, CET). Есть ли способ вернуть CET раз и почему он это делает?GMT выход от методов Apscheduler

Здесь проблема часть кода:

everything ={} 
for thing in house.scheduler.get_jobs(): 
    everything[thing.id] = thing.next_run_time 
#example output 
"16.0_2": "Tue, 15 Dec 2015 15:00:00 GMT", 

ответ

0

Это поле используется внутри для определения, когда работа должна выполняться следующим. Если вы хотите отобразить его в другом часовом поясе, вы можете использовать метод astimezone() класса datetime, предоставляя ему часовой пояс вашего планировщика в качестве аргумента.

Как и в стороне:

everything = {thing.id: thing.next_run_time for thing in house.scheduler.get_jobs()} 
+0

Спасибо за быстрый ответ - из интереса, какие преимуществ есть использовать вашу конструкцию для создания словаря? – Andy

+0

Это решение, к сожалению, не работает как вещь.next_run_time.tzinfo заявляет, что находится в «Европа/Будапешт» – Andy

+0

Понимание словаря - это 1 строка кода по сравнению с вашими 3 строками. –