Krok 1 — Pobierz wschód i zachód (poprawnie)
- ✦Użyj strefy czasowej lokalizacji (wraz z regułami DST).
- ✦Użyj lokalnej daty cywilnej (nie etykiet UTC).
Krok 2 — Oblicz długości godzin czasowych
Niech sunrise, sunset i nextSunrise będą czasami lokalnymi.
dayLen = sunset - sunrise
nightLen = nextSunrise - sunset
dayHour = dayLen / 12
nightHour = nightLen / 12Krok 3 — Zbuduj 24 granice
- Godzina dzienna i:
[sunrise + (i-1)*dayHour, sunrise + i*dayHour] - Godzina nocna j:
[sunset + (j-1)*nightHour, sunset + j*nightHour]
Krok 4 — Przypisz władców planetarnych
Użyj porządku chaldejskiego: Saturn → Jowisz → Mars → Słońce → Wenus → Merkury → Księżyc (powtarzaj).
- ✦Pierwsza godzina dzienna startuje od władcy dnia tygodnia.
- ✦Kontynuuj sekwencję nieprzerwanie przez dzień i noc (nie resetuj o północy).
Uwagi implementacyjne
- ✦Obsłuż przypadki polarne (brak wschodu/zachodu) w sposób bezpieczny.
- ✦Trzymaj granice z dokładnością do sekund, by uniknąć dryfu w UI.
- ✦Format 12h/24h dotyczy tylko wyświetlania; obliczenia wewnątrz opierają się na znacznikach czasu.