Maxx: Mondphasen ...

Beitrag lesen

Hallo Nordmann,
ein paar kleine Erklärungen ...

var blaueMondZeit = new Date(96, 1, 3, 16, 15, 0);

der 3. Februar 1996 war Vollmond (sollte es zumindest sein, nach meinen Quellen war es der 4.2. gegen Mitternacht) Warum die Variable "blaueMondZeit" heißt ist aber rätselhaft. Ein Blue Moon ist etwas anderes.

var mondPeriode  = 29*(24*3600*1000) + 12*(3600*1000) + 44.05*(60*1000);

Die synodische Periode (die Zeitspanne zwischen zwei gleichen Mondphasen) im Mittel: 29 Tage, 12 Stunden, 44 Minuten

var mondPhasenZeit = (Heute.getTime() - blaueMondZeit.getTime()) % mondPeriode;

Heute - dem Bezugsvollmond % Umlaufzeit (jeweils in Millisekunden)

var Korrektur = (Heute.getTime() % 86400000);

getTime() liefert Millisekunden, weiterrechnen mit Tagen

var Vollmond = Math.floor((mondPeriode-mondPhasenZeit+Korrektur)/(24*3600*1000))+1;

Die Tage nach Vollmond ...

Einem Astronomen dreht sich bei dieser Berechnung allerdings der Magen um. Aufgrund von Bahnschwankungen und der elliptischen Umlaufbahn des Mondes kann die Formel durchaus einen Tag daneben liegen. Ein Bezugsvollmond (siehe 3.2.96) der etwas näher am "heute" liegt reduziert den Fehler etwas.

HTH

Jochen

--
Kritzeln statt texten: Scribbleboard