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 >= 1 && $mese <= 3)
$stagione = "Inverno";
if ($mese == 3 && $giorno > 20)
$stagione = "Primavera";
if ($mese > 3 && $mese <= 6)
$stagione = "Primavera";
if ($mese == 6 && $giorno > 20)
$stagione = "Estate";
if ($mese > 6 && $mese <= 9)
$stagione = "Estate";
if ($mese == 9 && $giorno > 22)
$stagione = "Autunno";
if ($mese > 9 && $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.