Foros del Web » Programando para Internet » PHP »

funcion para Comparar DateTime con Time

Estas en el tema de funcion para Comparar DateTime con Time en el foro de PHP en Foros del Web. Buenas estimados colegas: He visto muchas formas para compara fechas o times en PHP, pero realmente no encontre ninguna funcion que me funcione para lo ...
  #1 (permalink)  
Antiguo 23/10/2005, 16:31
Avatar de Viet  
Fecha de Ingreso: octubre-2003
Ubicación: Mar del Plata - Argentina
Mensajes: 247
Antigüedad: 14 años, 2 meses
Puntos: 2
Pregunta funcion para Comparar DateTime con Time

Buenas estimados colegas:

He visto muchas formas para compara fechas o times en PHP, pero realmente no encontre ninguna funcion que me funcione para lo que necesito:

PROBLEMA: Necesito una funcion del tipo ComparaFechaHora($fecha, $operador, $hora). Donde:
  • $fecha es un datetime que levanto de Mysql con el tipo YYYY-MM-DD HH:MM:SS
  • $operador es un char ">", "<", "=", etc
  • $hora es una variable de tipo Time que levanto de Mysql con el formato HH:MM:SS

La idea es que me compare las horas de $fecha y $hora con el operador pasado.....

PREGUNTA: Alguno de ustedes conoce una funcion ya existente que realice esto o algo parecido ????

Desde ya muy agradecido por el tiempo
__________________
Keep it simple and keep it fast.
  #2 (permalink)  
Antiguo 23/10/2005, 16:44
Avatar de Viet  
Fecha de Ingreso: octubre-2003
Ubicación: Mar del Plata - Argentina
Mensajes: 247
Antigüedad: 14 años, 2 meses
Puntos: 2
parece andar....

Por ahora hice esta funcion...parece que funca pero como compara str no estoy convencido:

Código PHP:
function ComparaHoras($fecha1,$operador,$hora2){

  
// corto la hora de la fecha1
    
$fecha_dia1 explode (" "$fecha1);
    
    
$hora1 =  $fecha_dia1[1];

    switch(
$operador){
        
        case 
">" $flag $hora1 $hora2;
                                break;
        case 
"<" $flag $hora1 $hora2;
                                break;
      case 
">=" $flag $hora1 >= $hora2;
                                break;
        case 
"<=" $flag $hora1 <= $hora2;
                                break;
      case 
"=" $flag $hora1 $hora2;
                                break;                                
    }
    
return 
$flag;

__________________
Keep it simple and keep it fast.
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 11:22.