next_setting()
およびprevious_setting()
関数は、の現在の値を参照しませんephem.now()
。.date
代わりに、オブジェクトの前後の日付を探します。したがって、観測者が何らかの形で未来の日に設定されたObserver
場合に得られる結果は、私のラップトップでの私自身の実験でのみ発生します。.date
提供された日付と時刻を正確に使用した場合の設定時刻は次のとおりです。
import ephem
m = ephem.Observer()
m.long = '7:42:00'
m.lat = '45:04:00'
m.date = '2012/10/16 16:02:00'
print m.next_setting(ephem.Sun(), use_center=True)
# --> 2012/10/16 16:40:27
print m.previous_setting(ephem.Sun())
# --> 2012/10/15 16:44:05
このスクリプトを実行してみて、結果がどうなるか見ていただけますか? 私のephem.__version__
ラップトップに現在表示されているのは 3.7.5.1 です。
したがって、このような奇妙な結果が表示された場合は、 の値を印刷して日没時間と比較する代わりに、オブザーバーの属性と取得した日没時間とephem.now()
の関係を調査する必要があります。上に示したような小さなサンプル スクリプトを作成できれば、PyEphem が犯した間違いを示すこと.date
に頼るのではなく、独自の時間を設定できます (あなたの質問を見るまでに、私のスクリプトは明らかに少し異なっているからです)。あなたの元の「今」!)、問題を追跡するために最善を尽くします。now()
now()