Ver Mensaje Individual
  #7 (permalink)  
Antiguo 23/03/2014, 11:13
EmiOconnor
 
Fecha de Ingreso: julio-2007
Mensajes: 9
Antigüedad: 17 años, 4 meses
Puntos: 0
Respuesta: Declarar un else luego de determinada fecha

Si, veo que mucho no podés hacer. De todas maneras te agradezco la ayuda. Esperaré a que otra persona me pueda orientar de otra manera, ya que acá el problema (por lo que poco que entiendo) no es por un mal uso de signos, sino porque la fecha se está leyendo como string.

Dejo ejemplos para quien pueda darme una mano:

Arrojará que el Concurso está ACTIVO, cuando en realidad ya finalizó hace más de 1 año:
Código PHP:
<?php
$fechaactual
="23-03-2014"//date("d-m-Y");
$finconcurso="24-03-2013";
 
if(
$fechaactual $finconcurso){
    echo 
"Concurso finalizado";
}else{
    echo 
"Concurso activo";
}
?>
Arrojará que el Concurso ha FINALIZADO, cuando en realidad falta 1 año para que finalice:
Código PHP:
<?php
$fechaactual
="23-03-2014"//date("d-m-Y");
$finconcurso="22-03-2015";
 
if(
$fechaactual $finconcurso){
    echo 
"Concurso finalizado";
}else{
    echo 
"Concurso activo";
}
?>
Arrojará que el Concurso está ACTIVO, cuando en realidad ya finalizó hace 11 meses:
Código PHP:
<?php
$fechaactual
="23-03-2014"//date("d-m-Y");
$finconcurso="23-04-2013";
 
if(
$fechaactual <= $finconcurso){
    echo 
"Concurso activo";
}else{
    echo 
"Concurso finalizado";
}
?>
Por lo que entiendo, basandome en el último ejemplo, PHP interpreta a $fechaactual como (string) "23032014" y a $finconcurso (string) "23042013". Entonces:

23032014 > 23042013 // False
23032014 < 23042013 // True

23-03-2014 > 23-04-2013 // False (si lo vemos como fecha, el día 23-03-2014 es posterior a 23-04-2013. Por lo cual debería ser True)
23-03-2014 < 23-04-2013 // True (si lo vemos como fecha, el día 23-04-2013 es anterior a 23-03-2014)