Practicamente, funciona en los casos de que las fechas en input al compararla con la fecha actual, no supere de dia (numero de dia), por ejemplo con los siguientes INPUT funciona correctamente.
teniendio en cuenta que hoy es igual a hoy = 02-11-2017
con input = 01/11/2017 retorna "anterior a hoy" que es correcto
con input = 02/11/2017 retorna "hoy" que es correcto
con input = 03/11/2017 retorna "despues de hoy" que es correcto
con input = 01/10/2017 anterior a hoy //correcto
con input = 02/10/2017 retorna "anterior a hoy" que es correcto
mientras que con el INPUT input = 03/10/2017 (tres de octubre)
retorna "despues de hoy" que es incorrecto ya que el "03/10/2017" como fecha es inferior al "02/11/2017", ese es el error que no logro corregir.
es decir, funciona casi todo, menos cuando el dia en INPUT (solo el dia) supera al dia definido en la variable hoy = 02-11-2017
Código PHP:
//$input = "01/11/2017"; //anterior a hoy //correcto
//$input = "02/11/2017"; //hoy //correcto
//$input = "03/11/2017"; //despues de hoy //correcto
//$input = "01/10/2017"; //anterior a hoy //correcto
//$input = "02/10/2017"; //anterior a hoy //correcto
$input = "03/10/2017"; //despues de hoy //incorrecto
//$hoy = date("d-m-Y");
$hoy = date("02-11-2017");
$input = str_replace('/', '-', $input);
$input = date('d-m-Y', strtotime($input));
echo "INPUT: " . $input . "<br> HOY: " . $hoy;
if ($input < $hoy) {
$cssclass = "anterior a hoy";
} else if ($input == $hoy) {
$cssclass = "hoy";
} else if ($input > $hoy) {
$cssclass = "despues de hoy";
} else {
$cssclass = "nada de nada";
}
echo "<br><br> Resultado: " .$cssclass;
Código:
con input 02/11/2017 retorna hoy //correctoINPUT: 01-11-2017 HOY: 02-11-2017 Resultado: anterior a hoy
Código:
con input 03/11/2017 despues de hoy //correctoINPUT: 02-11-2017 HOY: 02-11-2017 Resultado: hoy
Código:
con input 01/10/2017 anterior a hoy //correctoINPUT: 03-11-2017 HOY: 02-11-2017 Resultado: despues de hoy
1 de ocutbre, dia inferior a 2 y con diferente mes.
Código:
INPUT: 01-10-2017 HOY: 02-11-2017 Resultado: anterior a hoy
con input 02/10/2017 anterior a hoy //correcto
2 de ocutbre, mismo dia con diferente mes.
Código:
y este ultimo es donde da errorINPUT: 02-10-2017 HOY: 02-11-2017 Resultado: anterior a hoy
con input 03/10/2017 //despues de hoy //incorrecto
Código:
que es incorrecto ya que el "03/10/2017" como fecha es inferior al "02/11/2017"INPUT: 03-10-2017 HOY: 02-11-2017 Resultado: despues de hoy
alguna sugerencia?
gracias anticipadas.
salud2