Added daytime property

This commit is contained in:
2026-06-24 16:04:17 -04:00
parent 122bbab555
commit 1c0416c668
3 changed files with 10 additions and 14 deletions

View File

@@ -53,14 +53,10 @@ function sunriseSunset(lat, lon, date = new Date()) {
const H = Math.acos(cosH) * DEG;
const rise = jdnToDate(jnoon - H / 360);
const set = jdnToDate(jnoon + H / 360);
const noon_d = jdnToDate(jnoon);
// Round to nearest second, drop milliseconds
const fmt = d => new Date(Math.round(d.getTime() / 1000) * 1000).toISOString();
return {
sunrise: fmt(rise),
sunset: fmt(set),
sunrise: rise,
sunset: set,
daylight: Math.round((set - rise) / 36000) / 100,
daytime: cosH < -1
};
@@ -162,8 +158,8 @@ function nextMoonEvents(date = new Date()) {
const toNew = (cycle - phase) % cycle;
const toFull = phase < 14.76 ? 14.76 - phase : cycle - phase + 14.76;
return {
moon_new: jdnToDate(jd + toNew).toISOString(),
moon_full: jdnToDate(jd + toFull).toISOString(),
moon_new: jdnToDate(jd + toNew),
moon_full: jdnToDate(jd + toFull),
};
}
@@ -200,8 +196,8 @@ function moonriseMoonset(lat, lon, date = new Date()) {
) * DEG;
if(prev !== null) {
if(prev < 0 && elev >= 0 && !moonrise) moonrise = new Date(t.getTime() - 5 * 60000).toISOString();
if(prev >= 0 && elev < 0 && !moonset) moonset = new Date(t.getTime() - 5 * 60000).toISOString();
if(prev < 0 && elev >= 0 && !moonrise) moonrise = new Date(t.getTime() - 5 * 60000);
if(prev >= 0 && elev < 0 && !moonset) moonset = new Date(t.getTime() - 5 * 60000);
}
prev = elev;
if(moonrise && moonset) break;