2015-12-15 2 views
1

J'ai écrit un programme de programmation de chauffage simple en utilisant Apschedule(3.0.5) sur un Raspberrypi(Jessie). J'utilise la méthode next_run_time comme un moyen de rendre un imprimable personnalisé semblable à la méthode print_jobs. Cependant, la sortie est en GMT ce qui est plutôt déroutant car l'ordinateur est en Europe centrale et utilise/produit CET à d'autres fins (les paramètres régionaux sont définis pour hongrie, CET). Y at-il un moyen de retourner CET fois et pourquoi le fait-il?Sortie GMT à partir des méthodes Apscheduler

Voici la partie problème du code:

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", 

Répondre

0

Ce champ est utilisé en interne pour déterminer le moment où le travail doit être exécuté suivant. Si vous souhaitez l'afficher dans un autre fuseau horaire, vous pouvez utiliser la méthode astimezone() de la classe datetime, en lui donnant le fuseau horaire de votre planificateur.

En aparté:

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

Merci pour la réponse rapide - Hors intérêts, quels sont les avantages d'utiliser votre construction pour la génération du dictionnaire? – Andy

+0

Cette solution ne fonctionne malheureusement pas comme thing.next_run_time.tzinfo indique qu'elle se trouve dans 'Europe/Budapest' – Andy

+0

Une compréhension de dictionnaire est 1 ligne de code par rapport à vos 3 lignes. –