有没有办法根据行星(太阳、月亮等)的坐标知道日期和时间?

Is there a way to know date and time given the coordinates of a planet (sun,moon etc.)

Skyfield 具有计算月相的功能。但是如果我想知道月亮什么时候与太阳成 20 度或 25 度呢?

如何获得太阳和月亮在特定经度的准确日期和时间?

编辑(澄清): 是否有可能知道太阳或月亮在某个位置的下一个(或上一个)日期和时间? Like skyfield 提供了查找太阳和月亮何时在0度或180度(新月,满月)的功能。

是的,Skyfield 支持一种可能的方法。查看它的almanac.py模块,你会发现有两个步骤:

  1. 创建一个函数,给定一个日期,returns 0 如果月亮与太阳 <20° 或 1 如果月亮是≥20°。您可以直接简单地创建此函数,也可以像 Skyfield 一样更复杂,并且 return 来自另一个函数内部的函数,该函数保存对星历表等内容的引用,该函数将需要生成其答案。

  2. 将该函数传递给 find_discrete() 例程,以告诉您函数在特定时间从 0 翻转到 1 或再次返回的时刻期间.

希望其中的示例能帮助您入门!