In addition to what Otto has already said, you can do this in a less specific way (which is what I thought I wanted, since I wrote that it was not American standard).
If you save the date with dashes or delimiters in the middle of it, just use preg_replace (or any other function that accomplishes this) in the string to remove the character that separates year, month and day. If not, go straight to the next step ...
After removing the delimiter characters:
<?php
$data_entrada = "01022014";
$dia_entrada = substr($data_entrada, 0, 2);
$mes_entrada = substr($data_entrada, 2, 2);
$ano_entrada = substr($data_entrada, 4, 4);
$data_saida = "01022014";
$dia_saida = substr($data_saida, 0, 2);
$mes_saida = substr($data_saida, 2, 2);
$ano_saida = substr($data_saida, 4, 4);
if ($ano_saida > $ano_entrada) {
echo "A data de saída é posterior a de entrada";
} elseif ($ano_saida == $ano_entrada) {
// CASO ANO IGUAL
if ($mes_saida > $mes_entrada) {
echo "A data de saída é posterior a de entrada";
} elseif ($mes_saida == $mes_entrada) {
// INICIO CASO MES IGUAL
if ($dia_saida > $dia_entrada) {
echo "A data de saída é posterior a de entrada";
} elseif ($dia_saida == $dia_entrada) {
echo "As datas de saída e entrada são iguais";
} elseif ($dia_saida < $dia_entrada) {
echo "A data de saída é anterior a de entrada";
} // FIM CASO MES IGUAL
} elseif ($mes_saida < $mes_entrada) {
echo "A data de saída é anterior a de entrada";
}
// FIM DO CASO ANO IGUAL
} else {
echo "A data de saída é anterior a de entrada";
}
?>
Note: If necessary, remember to remove blanks after and before the string using trim()
or others ...