Originariamente inviato da Simoxxx
Crei la tabella stagioni composta dai seguenti campi:
id -> int autoincrement (KEY)
nome -> varchar (20)
data_inizio -> date
data_fine -> date

Con uno script in php controlli se la data corrente è compresa nell'intervallo data_inizio e data_fine e trovi la stagione corrispondente....
sicuramente fai prima con un db ma si può fare anche senza.

Questa è una soluzione, anche se molto rozza.
Controllala bene perchè non l'ho verificata a dovere.

Codice PHP:
<?php
$giorno 
date('d');
$mese date('n');

if (
$mese >= && $mese <= 3
$stagione "Inverno";
if (
$mese == && $giorno 20
$stagione "Primavera";
if (
$mese && $mese <= 6
$stagione "Primavera";
if (
$mese == && $giorno 20
$stagione "Estate";
if (
$mese && $mese <= 9
$stagione "Estate";
if (
$mese == && $giorno 22
$stagione "Autunno";
if (
$mese && $mese <= 12
$stagione "Autunno";
if (
$mese == 12 && $giorno 21
$stagione "Inverno";

echo 
$stagione;
?>
Forse però la cosa migliore sarebbe usare date('z'); che ti restituisce un numero compreso tra 0 e 365, calcolare il giorno d'inizio e di fine di ciascuna stagione (inteso sempre come numero compreso in questo intervallo) e vedere il tuo giorno in quale range cade.