update sunset
This commit is contained in:
@@ -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>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user