Formula applied
The exact method behind this answer
CalculationTime keeps the method visible so the number can be checked instead of blindly trusted.
observer = Astronomy.Observer(latitude, longitude, elevationMetres). t0 = local civil midnight converted to UTC. Sunrise = SearchRiseSet(Sun, observer, +1, t0, 1.05). Sunset = SearchRiseSet(Sun, observer, -1, t0, 1.05). Civil dawn/dusk = SearchAltitude(Sun, observer, +/-1, t0, 1.05, -6). Day length = sunset - sunrise.- Apply the formulaobserver = Astronomy.Observer(latitude, longitude, elevationMetres). t0 = local civil midnight converted to UTC. Sunrise = SearchRiseSet(Sun, observer, +1, t0, 1.05). Sunset = SearchRiseSet(Sun, observer, -1, t0, 1.05). Civil dawn/dusk = SearchAltitude(Sun, observer, +/-1, t0, 1.05, -6). Day length = sunset - sunrise.2026-07-16 06:57 (UTC+10) sunrise · 2026-07-16 17:04 (UTC+10) sunsetAstronomy Engine SearchRiseSet(Sun) for -33.8688°, 151.2093°, 0 m. UTC instants: sunrise 2026-07-15 20:57 UTC, sunset 2026-07-16 07:04 UTC. Day length 10h 07m; solar noon 2026-07-16 12:01 (UTC+10). Civil twilight: dawn 2026-07-16 06:30 (UTC+10), dusk 2026-07-16 17:32 (UTC+10).