Comparazione date in italiano

colomber

Utente Attivo
4 Dic 2012
232
1
18
Con 2 date di questo tipo:

24 dicembre 2025
25 dicembre 2025

come faccio a sapere se la seconda data è maggiore della prima?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
ciao
messe in quella forma è difficile, pensa un po' a queste
25 aprile 2015
2 giugno 2015
se fai
PHP:
<?php
$data_1="25 aprile 2015";
$data_2="2 giugno 2015";
if($data_1 > $data_2){
	echo "la $data_2 è precedente a $data_1<br>";
}else{
	echo "la $data_1 è precedente a $data_2<br>";
}
?>
ottenendo questo output assurdo
la 2 giugno 2015 è precedente a 25 aprile 2015
per avere il risultato dovresti trasformarle nel formato AA mm gg es 2015 04 25, indipendentemente dal separatore
forse ti conviene fare una funzione di trasformazione
PHP:
<?php
function trasforma($d){
	$numero=array('gennaio'=>'01','febbraio'=>'02','marzo'=>'03','aprile'=>'04','maggio'=>'05','giugno'=>'06','luglio'=>'07','agosto'=>'08','settembre'=>'09','ottobre'=>'10','novembre'=>'11','dicembre'=>'12');
	$ex=explode(" ", $d);//esplodo la data secondo il separatore, se è spazio con spazio
	if($ex[0] < 10){$giorno="0".$ex[0];}else{$giorno=$ex[0];}//trasformo il giorno es. 2 in 02
	$num_mese=$numero[ex[1]];
	$anno= $ex[2]
	return $anno." ".$num_mese." ".$giorno;//ricompongo la data
}
$data_1="25 aprile 2015";
$data_2="2 giugno 2015";
if(trasforma($data_1) > trasforma($data_2)){
	echo "la $data_2 è precedente a $data_1<br>";
}else{
	echo "la $data_1 è precedente a $data_2<br>";
}
?>
ottenendo l'output corretto
la 25 aprile 2015 è precedente a 2 giugno 2015