PyEphem:找到 sunrise/sunset 时间时,我应该在对象的日期属性中设置什么时间?

PyEphem: what should I set the time in an object's date attribute when finding sunrise/sunset time?

属性:.date,例如

>>> gatech.date = '1984/5/30 16:22:56'   # 12:22:56 EDT

查看文档,似乎由于天文变化,各种物体相对于观察者的位置随时间而变化,这就是日期的原因。

但是,我只想获取特定位置的日出和日落时间。在那种情况下,我不知道我应该在日期属性中输入什么时间。

gatech.date 的时间分量只需要是不接近任何可能的 sunrise/sunset 时间的 UTC 值。最安全的选择是选择当地的中午或午夜。它不必完全是中午或午夜,只要它离 sunrise/sunset 足够远以避免混淆 pyephem 的 next/previous 功能 - 即使 DST 试图弄得一团糟。

使用当地午夜:

gatech.date = '1984/5/30 4:00:00'   # 0:00:00 local time (ignoring DST)
gatech.lat = str(33.775618)
gatech.lon = str(-84.396285)

sunrise = gatech.next_rising(ephem.Sun())  # local sunrise on 5/30/1984 in UTC
sunset = gatech.next_setting(ephem.Sun())  # local sunset on 5/30/1984 in UTC

如果您使用当地中午,您将使用 previous_risingnext_setting 函数。