update sunset

This commit is contained in:
2026-01-15 06:26:49 +01:00
parent b8884d89e3
commit c6ceeb103b

View File

@@ -58,10 +58,11 @@
// Simplified sun calculation (based on NOAA algorithm) // Simplified sun calculation (based on NOAA algorithm)
function getSunTimes(date, lat, lon) { function getSunTimes(date, lat, lon) {
const rad = Math.PI / 180; const rad = Math.PI / 180;
const longitude = -lon;
const dayOfYear = getDayOfYear(date); const dayOfYear = getDayOfYear(date);
// Fractional year // Fractional year
const gamma = (2 * Math.PI / 365) * (dayOfYear - 1 + (date.getHours() - 12) / 24); const gamma = (2 * Math.PI / 365) * (dayOfYear - 1 + (date.getUTCHours() - 12) / 24);
// Equation of time (minutes) // Equation of time (minutes)
const eqTime = 229.18 * (0.000075 + 0.001868 * Math.cos(gamma) - 0.032077 * Math.sin(gamma) const eqTime = 229.18 * (0.000075 + 0.001868 * Math.cos(gamma) - 0.032077 * Math.sin(gamma)
@@ -87,8 +88,8 @@
const ha = Math.acos(cosHA) / rad; // Hour angle in degrees const ha = Math.acos(cosHA) / rad; // Hour angle in degrees
// Sunrise and sunset times in minutes from midnight UTC // Sunrise and sunset times in minutes from midnight UTC
const sunriseMinutes = 720 - 4 * (lon + ha) - eqTime; const sunriseMinutes = 720 - 4 * (longitude + ha) - eqTime;
const sunsetMinutes = 720 - 4 * (lon - ha) - eqTime; const sunsetMinutes = 720 - 4 * (longitude - ha) - eqTime;
// Convert to local Date objects // Convert to local Date objects
const sunriseDate = new Date(date); const sunriseDate = new Date(date);
@@ -99,6 +100,11 @@
sunsetDate.setUTCHours(0, 0, 0, 0); sunsetDate.setUTCHours(0, 0, 0, 0);
sunsetDate.setUTCMinutes(sunsetMinutes); sunsetDate.setUTCMinutes(sunsetMinutes);
console.log(
sunrise.toISOString(),
sunrise.toString()
);
return { sunrise: sunriseDate, sunset: sunsetDate }; return { sunrise: sunriseDate, sunset: sunsetDate };
} }
@@ -312,7 +318,7 @@
</span> </span>
{/if} {/if}
{:else} {:else}
<span class="no-location">📍 Position non configurée</span> <span class="no-location">📍 Position not set</span>
{/if} {/if}
</div> </div>