Lösungsvorschläge:
tja… das ist natürlich Pech… aaaaaber…
Zitat:
Was ist der Unterschied zwischen dem Frühlingsanfang am 1. März und am 21. März?
Bei dem einen Termin handelt es sich um die meteorologischen Frühlingsanfang, beim anderen Datum um den astronomischen Frühlingsbeginn. Die Meteorologen (genauer: die Weltorganisation für Meteorologie, eine Unterorganisation der UN) haben für sich die Anfänge der Jahreszeiten auf die jeweiligen Monatsanfänge vorverlegt. Das hat ganz praktische Gründe: So ist es beispielsweise leichter, Statistiken (wie etwa Monatsmittelwerte) zu führen und Klimavergleiche anzustellen. (ds/30. Juni 2003)
Sprich: Du kannst entweder den Monatsanfang verwenden und liegst damit auch richtig, oder Du machst es ganz anders…
Dauer der Jahreszeiten
Die astronomischen Jahreszeiten entsprechen jeweils bestimmten Abschnitten der Erdbahn. Da die Erdbahn leicht elliptisch ist, durchläuft sie diese Abschnitte mit variabler Geschwindigkeit, so dass die Jahreszeiten nicht alle gleich lang sind.
Gegenwärtig befindet sich die Erde bei Winterbeginn in der Nähe des Perihels und durchläuft daher Herbst und Winter schneller als Frühling und Sommer. Da das Perihel wegen der Bahnstörungen durch andere Planeten langsam durch die Jahreszeiten wandert, ändern sich auch die Geschwindigkeiten, mit denen die jeweiligen Jahreszeiten durchlaufen werden.
Die Tabelle zeigt die mittlere Dauer der einzelnen Jahreszeiten in Tagen:
Jahr Frühling Sommer Herbst Winter
-1000 94,25 91,63 88,42 90,94
0 93,96 92,45 88,69 90,13
1000 93,44 93,15 89,18 89,47
2000 92,76 93,65 89,84 88,99
3000 91,97 93,92 90,61 88,74
dann müsstest Du Dir nur einen Zeitpunkt raussuchen und diese Tagesangaben immer wieder aufaddieren.
Im Prinzip also
$differenz = date()-$Dein\_Zeitpunkt (z.b. Frühlingsanfang 1990); //Hier würde ich eigentlich fast mit Timestamps arbeiten weil die leichter zu rechnen sind...
(...) Hier halt irgendwie so umwandeln, dass 1 Einheit = 1 Tag entspricht...
$i = 0;
while ($differenz \> 0)
{
$i++;
if ($i == 1) {
$differenz - 92.76;
if ($differenz \> 0) echo "Es ist Frühling";
}
if ($i == 2) {
$differenz - 93.65;
if ($differenz \> 0) echo "Es ist Sommer";
}
if ($i == 3) {
$differenz - 89.84;
if ($differenz \> 0) echo "Es ist Herbst";
}
if ($i == 4) {
$differenz - 88.99;
if ($differenz \> 0) echo "Es ist Winter";
$i = 1;
}
}
HTH
Munich