At the beginning, I think using webgeocalc can determine the moon phase. So I give it try angular separation finder: using moon quarter ( 90 degrees) as example: 2023-08-08 10:29:04.584489 UTC 2023-08-24 09:57:53.976404 UTC Using webgeocalc can give you only the angular separation, which is different from app geocentric ecliptic longitude difference !!! Then I try to use JPL Horizons , to find new moon: in Table Settings, chose Observer Ecliptic Lon, Lat, ie ObsEcLon then save the results Do this again with Moon as Target. Use Excel to subtract ObsEcLon of Earth and Moon. Found the minimum delta is 09:48 Use illumination Angles, IAU_Moon: >>> The best way from HKAS 掩星組 post ( timing 時分秒). 8月8日18時28分25秒(-90°)下弦 8月24日17時57分14秒(+90°)上弦 Other methods: Pyephem by egoshi Moontool in visual C (90s) Tips in stackoverflow Astrostackexchange . Elong is angle separation , or ecliptic separation? HKO, NAOJ , IMCCE 天文台等 calculation timing 一般是去到時分. They ...