Планетарні години

Метод і реалізація

Як обчислюються планетарні години (крок за кроком)

Саме так працює надійний калькулятор. Арифметика тут не головне — головне правильно отримати межі і послідовність, у правильному часовому поясі, для правильної цивільної дати.

Крок 1 — Отримай схід і захід (коректно)

  • Використовуй часовий пояс локації (включно з правилами DST).
  • Використовуй місцеву цивільну дату (не UTC-мітки).

Крок 2 — Обчисли тривалості часових годин

Нехай sunrise, sunset і nextSunrise — місцеві часи.

dayLen   = sunset - sunrise
nightLen = nextSunrise - sunset

dayHour   = dayLen / 12
nightHour = nightLen / 12

Крок 3 — Побудуй 24 межі

  • Денна година i: [sunrise + (i-1)*dayHour, sunrise + i*dayHour]
  • Нічна година j: [sunset + (j-1)*nightHour, sunset + j*nightHour]

Крок 4 — Признач планетних владик

Використай халдейський порядок: Сатурн → Юпітер → Марс → Сонце → Венера → Меркурій → Місяць (повторювати).

  • Перша денна година починається з владики дня тижня.
  • Продовжуй послідовність безперервно через день і ніч (не скидай опівночі).

Нотатки реалізації

  • Коректно обробляй полярні випадки (нема сходу/заходу).
  • Тримай межі з точністю до секунди, щоб уникнути «пливучого» UI.
  • 12h/24h — лише відображення; внутрішня математика лишається на абсолютних таймстемпах.

Далі: Пояснення нерівних годин · Як читати таблицю