python-3.x raspberry-pi pyephem

python 3.x - localtime en realidad no da tiempo local



python-3.x raspberry-pi (1)

Debe pasar datetime.utcnow() al observador en lugar de su hora local.

ephem espera latitude y longitude en radianes si se pasa como flotadores, use cadenas en su lugar:

from datetime import datetime, timezone import ephem now = datetime.now(timezone.utc) Vancouver = ephem.Observer() Vancouver.lat = ''49.2878'' Vancouver.horizon = 0 Vancouver.lon = ''-123.0502'' Vancouver.elevation = 80 Vancouver.date = now sun = ephem.Sun(Vancouver) print("sunrise is at", ephem.localtime(Vancouver.next_rising(sun))) print("sunset is going to be at ", ephem.localtime(Vancouver.next_setting(sun))) print("now is ",now.astimezone())

Salida

sunrise is at 2014-09-20 06:55:38.000005 sunset is going to be at 2014-09-19 19:16:38.000004 now is 2014-09-19 19:15:04.171486-07:00

obviamente hay un módulo de tiempo que funciona en combinación con este problema, pero aún no lo he encontrado. Simplemente estoy tratando de usar Pyephem en una Raspberry Pi para averiguar a qué hora es el amanecer y el atardecer para mis coordenadas de latitud y longitud. el código es simplemente esto:

import ephem import datetime import time now = datetime.datetime.now() gmNow = time.mktime(time.localtime()) Vancouver = ephem.Observer() Vancouver.lat = 49.2878 Vancouver.horizon = 0 Vancouver.lon = -123.0502 Vancouver.elevation = 80 Vancouver.date = now # Vancouver.date = time.localtime() sun = ephem.Sun() print("sunrise is at",ephem.localtime(Vancouver.next_rising(sun))) print("sunset is going to be at ",ephem.localtime(Vancouver.next_setting(sun))) print("now is ",now) print("gmNow is",gmNow)

Sin embargo, lo que exporta, cuando eso corre, es incorrecto en 8 horas. por lo que parece que el ephem.localtime () no se está ejecutando en realidad.

pi@raspberrypi ~ $ sudo python3 vivarium_sun.py sunrise is at 2014-09-19 12:55:56.000004 sunset is going to be at 2014-09-19 00:52:30.000004 now is 2014-09-19 06:22:24.014859 gmNow is 1411132944.0

Me está volviendo loco, y obviamente es una de esas cosas simples una vez que está resuelto, así que voy a la mente colmena aquí.

EDITAR ** Simplemente escribiendo ''fecha'' en la línea de comando de la Raspberry Pi devuelve lo siguiente:

pi@raspberrypi ~ $ date Fri Sep 19 18:41:42 PDT 2014

que es exacto