Passo 1 — Ottenere alba e tramonto (correttamente)
- ✦Usare il fuso orario del luogo (incluse le regole DST).
- ✦Usare la data civile locale (non le etichette UTC).
Passo 2 — Calcolare la durata delle ore temporali
Siano sunrise, sunset e nextSunrise orari locali.
dayLen = sunset - sunrise
nightLen = nextSunrise - sunset
dayHour = dayLen / 12
nightHour = nightLen / 12Passo 3 — Costruire i 24 confini
- Ora diurna i:
[sunrise + (i-1)*dayHour, sunrise + i*dayHour] - Ora notturna j:
[sunset + (j-1)*nightHour, sunset + j*nightHour]
Passo 4 — Assegnare i signori planetari
Usare l’ordine caldaico: Saturno → Giove → Marte → Sole → Venere → Mercurio → Luna (ripetere).
- ✦La prima ora diurna inizia con il signore del giorno.
- ✦Continuare la sequenza senza interruzioni attraverso giorno e notte (non azzerare a mezzanotte).
Note di implementazione
- ✦Gestire con cura i casi polari (assenza di alba/tramonto).
- ✦Mantenere i confini alla precisione del secondo per evitare deriva dell’interfaccia.
- ✦12h/24h è solo visualizzazione; i calcoli interni restano assoluti.