Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Condicionales con fecha

Estas en el tema de Condicionales con fecha en el foro de PHP en Foros del Web. Hola, Tengo un problema usando condicionales y las fechas, quizás alguien me puede ayudar - Tengo unas fechas de varios cursos que se almacenan en ...
  #1 (permalink)  
Antiguo 23/06/2015, 10:00
 
Fecha de Ingreso: agosto-2006
Mensajes: 81
Antigüedad: 17 años, 8 meses
Puntos: 0
Condicionales con fecha

Hola,
Tengo un problema usando condicionales y las fechas, quizás alguien me puede ayudar
- Tengo unas fechas de varios cursos que se almacenan en una base de datos en formato 23 Jun 2015
- Una tabla que recupera esa información, además de la fecha actual para ver que etiqueta le añade al lado de la fecha de pre inscripción (abierta o cerrada) y segun eso en la columna de inscripción abierta o próximanete.

El problema es que con solo los días númericos funciona, pero cuando llega al mes ya se pierde. No sé como arreglarlo ya que mis conocimientos son básicos.

Aquí os dejo el código

Código HTML:
<?php
$FechaLimite = "22 Jun 2015";
echo "Fecha limite pre inscripción:  ";
echo $FechaLimite;

$hoy = date("d M Y");  
echo "<br>La fecha de hoy es: ";
echo $hoy;
echo "<br><br>";

switch ($FechaLimite) 
	
	{
    case ($FechaLimite > $hoy):
        echo "Pre inscripción ABIERTA";
        break;
		
    case ($FechaLimite < $hoy):
        echo "pre inscripción CERRADA";
        break;
	}


if ($FechaLimite > $hoy){
	echo "<br>inscripción PRÓXIMAMENTE";
} else {
	echo "<br>inscripción ABIERTA";
}

?>
¿Alguien me puede ayudar?

Muchas gracias
  #2 (permalink)  
Antiguo 23/06/2015, 12:03
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 1 mes
Puntos: 1146
Respuesta: Condicionales con fecha

No puedes comparar texto esperando se comporte como numeros

Esta es una pregunta de manual a si que pasa a revisarlo, te recomiendo investigues sobre las funciones

date_diff
strtotime
time
date

Con una o varias de estas funciones podras resolver tu problema., solo es cosa que te pongas a estudiarlas un poco.
  #3 (permalink)  
Antiguo 25/06/2015, 09:34
 
Fecha de Ingreso: agosto-2006
Mensajes: 81
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: Condicionales con fecha

Muchas gracias por tu respuesta,
me lo he estado mirando pero no consigo sacarlo adelante. Intento calcular la diferencia entre la fecha 1 y la fecha 2, saliendo en negativo o positivo el numero de dias que quedan pendientes o han pasado. Pero no hace bien el calculo

¿Me podrías orientar un poquito más?

Código PHP:
$FechaLimite "28-07-2015";
$hoy date("d-m-Y"); 

$datetime1 = new DateTime($FechaLimite);
$datetime2 = new DateTime($hoy);

echo 
"Fecha limite pre inscripción: ";
echo 
$FechaLimite;

echo 
"<br>La fecha de hoy es: ";
echo 
$hoy;
echo 
"<br><br>";

$interval $datetime1->diff($datetime2);
echo 
$interval->format('diferencia = %R%a días');
echo 
"<br><br>";

switch (
$FechaLimite
    {
    case (
$FechaLimite $hoy):
        echo 
"Pre inscripción ABIERTA";
        break;
        
    case (
$FechaLimite $hoy):
        echo 
"pre inscripción CERRADA";
        break;
    }

if (
$FechaLimite $hoy){
    echo 
"<br>inscripción PRÓXIMAMENTE";
} else {
    echo 
"<br>inscripción ABIERTA";

  #4 (permalink)  
Antiguo 25/06/2015, 10:51
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 1 mes
Puntos: 1146
Respuesta: Condicionales con fecha

Porque dices que no hace bien el calculo? yo lo veo bien.

Un detalle que siempre me ha pasado (aunque no se si sea tu caso) es que con el formato que usas no me funciona siempre, el formato de fecha idóneo para mi es m/d/Y es decir 07/28/2015 en tu ejemplo
  #5 (permalink)  
Antiguo 25/06/2015, 11:40
 
Fecha de Ingreso: agosto-2006
Mensajes: 81
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: Condicionales con fecha

Pues tenias razón al final el problema era el formato de fecha. Poniendo m/d/Y también daba errores en alguna ocasión, pero poniendo el año primero funciona perfecto. Así que lo dejé con el Y/m/d

Código PHP:
$FechaLimite "2015-07-28"
$hoy date("Y-m-d"); 
Muchas gracias

Etiquetas: condicionales, fecha, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:35.