= 0 ? '+' : '-') . number_format(abs($value), 2, ',', '.') . ' Tage'; } $timezoneName = 'Europe/Berlin'; $currentYear = (int) (new DateTimeImmutable('now', new DateTimeZone($timezoneName)))->format('Y'); $selectedYear = filter_input(INPUT_GET, 'year', FILTER_VALIDATE_INT); if ($selectedYear === false || $selectedYear === null || $selectedYear < 1600 || $selectedYear > 2200) { $selectedYear = $currentYear; } ?> [$selectedYear - 1, 12, 22], 'Wassermann' => [$selectedYear, 1, 20], 'Fische' => [$selectedYear, 2, 19], 'Widder' => [$selectedYear, 3, 21], 'Stier' => [$selectedYear, 4, 20], 'Zwillinge' => [$selectedYear, 5, 21], 'Krebs' => [$selectedYear, 6, 21], 'Löwe' => [$selectedYear, 7, 23], 'Jungfrau' => [$selectedYear, 8, 23], 'Waage' => [$selectedYear, 9, 23], 'Skorpion' => [$selectedYear, 10, 23], 'Schütze' => [$selectedYear, 11, 22], ]; $astrologicalStartsBySymbol = [ 'Cap' => [$selectedYear - 1, 12, 22], 'Aqr' => [$selectedYear, 1, 20], 'Psc' => [$selectedYear, 2, 19], 'Ari' => [$selectedYear, 3, 21], 'Tau' => [$selectedYear, 4, 20], 'Gem' => [$selectedYear, 5, 21], 'Cnc' => [$selectedYear, 6, 21], 'Leo' => [$selectedYear, 7, 23], 'Vir' => [$selectedYear, 8, 23], 'Lib' => [$selectedYear, 9, 23], 'Sco' => [$selectedYear, 10, 23], 'Sgr' => [$selectedYear, 11, 22], ]; $statConstellations = [ 'Cap' => 'Steinbock', 'Aqr' => 'Wassermann', 'Psc' => 'Fische', 'Ari' => 'Widder', 'Tau' => 'Stier', 'Gem' => 'Zwillinge', 'Cnc' => 'Krebs', 'Leo' => 'Löwe', 'Vir' => 'Jungfrau', 'Lib' => 'Waage', 'Sco' => 'Skorpion', 'Sgr' => 'Schütze', ]; $selectedStatConstellation = trim((string) ($_GET['stat_constellation'] ?? 'Cap')); if (!isset($statConstellations[$selectedStatConstellation])) { $selectedStatConstellation = 'Cap'; } $statisticsResult = runPythonApi('sun_constellation_offset_statistics', [ (string) $selectedYear, $selectedStatConstellation, $timezoneName, ]); $statisticsData = $statisticsResult['ok'] ? $statisticsResult['data'] : null; ?>

Berechnet werden die offiziellen IAU-Sternbildgrenzen aus geozentrischer Sicht. Der Jahreszeitraum beginnt am 01.01. um 00:00 Uhr in Europe/Berlin. Deshalb erscheint auch der Schlangenträger; der klassische Tierkreis mit zwölf Zeichen ist nicht identisch mit den Sternbildern.

Berechnung nicht möglich

Astronomisch und astrologisch

getTimestamp() - $astrologicalStart->getTimestamp()) / 86400; $differenceText = sprintf('%+.1f Tage', $differenceDays); } ?>
Sternbild Wechsel Astrologisch Differenz Von Bis Dauer
format('d.m.Y')) ?> , Uhr , Uhr Tage

Versatz über 100 Jahre

Zeitraum: bis . Der Versatz ist der astronomische Wechselzeitpunkt minus dem üblichen astrologischen Beginn.

(float) ($yearValue['difference_days'] ?? 0), $yearValues ); $chartMin = min($chartValues); $chartMax = max($chartValues); $chartPadding = max(0.25, ($chartMax - $chartMin) * 0.12); $chartLow = $chartMin - $chartPadding; $chartHigh = $chartMax + $chartPadding; $chartRange = $chartHigh - $chartLow; $chartPlotWidth = $chartWidth - $chartLeft - $chartRight; $chartPlotHeight = $chartHeight - $chartTop - $chartBottom; $chartPoints = []; $chartMarkers = []; foreach ($yearValues as $index => $yearValue) { $value = (float) ($yearValue['difference_days'] ?? 0); $x = $chartLeft + ($index / max(1, count($yearValues) - 1)) * $chartPlotWidth; $y = $chartTop + (($chartHigh - $value) / $chartRange) * $chartPlotHeight; $chartPoints[] = number_format($x, 2, '.', '') . ',' . number_format($y, 2, '.', ''); if ($index % 10 === 0 || $index === count($yearValues) - 1) { $chartMarkers[] = [ 'x' => $x, 'y' => $y, 'year' => (string) ($yearValue['year'] ?? ''), 'value' => $value, ]; } } $movingAverageWindow = 10; $movingAverageValues = []; $movingAveragePoints = []; foreach ($chartValues as $index => $value) { if ($index < $movingAverageWindow - 1) { continue; } $movingAverage = array_sum(array_slice($chartValues, $index - $movingAverageWindow + 1, $movingAverageWindow)) / $movingAverageWindow; $x = $chartLeft + ($index / max(1, count($yearValues) - 1)) * $chartPlotWidth; $y = $chartTop + (($chartHigh - $movingAverage) / $chartRange) * $chartPlotHeight; $movingAverageValues[] = $movingAverage; $movingAveragePoints[] = number_format($x, 2, '.', '') . ',' . number_format($y, 2, '.', ''); } ?>
10-Jahres-Trend
Kleinster Versatz
Größter Versatz
Streuung
Änderung im Zeitraum

Cyan: jährlicher Versatz. Gold: gleitender 10-Jahres-Durchschnitt.

Jahreswerte anzeigen ( Jahre)
Jahr Astronomisch Astrologisch Versatz