Étape 1 — Obtenir le lever et le coucher (correctement)
- ✦Utiliser le fuseau horaire du lieu (y compris les règles de DST).
- ✦Utiliser la date civile locale (et non les dates UTC).
Étape 2 — Calculer la durée des heures temporelles
Soient sunrise, sunset et nextSunrise des heures locales.
dayLen = sunset - sunrise
nightLen = nextSunrise - sunset
dayHour = dayLen / 12
nightHour = nightLen / 12Étape 3 — Construire les 24 limites
- Heure diurne i :
[sunrise + (i-1)*dayHour, sunrise + i*dayHour] - Heure nocturne j :
[sunset + (j-1)*nightHour, sunset + j*nightHour]
Étape 4 — Assigner les maîtres planétaires
Utiliser l’ordre chaldéen : Saturne → Jupiter → Mars → Soleil → Vénus → Mercure → Lune (répété).
- ✦La première heure diurne commence avec le maître du jour.
- ✦La séquence se poursuit continuellement de jour comme de nuit (sans réinitialisation à minuit).
Notes d’implémentation
- ✦Gérer correctement les cas polaires (absence de lever ou de coucher).
- ✦Conserver les limites à la seconde près pour éviter les dérives d’interface.
- ✦Le format 12h/24h est purement visuel ; les calculs internes restent absolus.