Programación Web y Scripting > PHP
Comparar Fechas En Php
orkristmex:
usa un explode para sacar primero la fecha, y lueog la hora, luego usa otro explode en cada uno para separar la informaciòn en la fecha y comparas uno a uno con la otra fecha, lo mismo con la hora es facil
MaoBike:
Esta funcion te compara 2 fechas y retorna la diferencia en dias.
Espero te sirva yo la uso y sirve perfectamente.
--- Código: Text --- ### - Esta funcion compara 2 fechas y retorna la diferencia (dd-mm-yyyy) - ### function compara_fechas($fecha1,$fecha2) { if(preg_match("/[0-9]{1,2}\/[0-9]{1,2}\/([0-9][0-9]){1,2}/",$fecha1)) list($dia1,$mes1,$año1)=split("/",$fecha1); if(preg_match("/[0-9]{1,2}-[0-9]{1,2}-([0-9][0-9]){1,2}/",$fecha1)) list($dia1,$mes1,$año1)=split("-",$fecha1); if(preg_match("/[0-9]{1,2}\/[0-9]{1,2}\/([0-9][0-9]){1,2}/",$fecha2)) list($dia2,$mes2,$año2)=split("/",$fecha2); if(preg_match("/[0-9]{1,2}-[0-9]{1,2}-([0-9][0-9]){1,2}/",$fecha2)) list($dia2,$mes2,$año2)=split("-",$fecha2); $dif = mktime(0,0,0,$mes1,$dia1,$año1) - mktime(0,0,0,$mes2,$dia2,$año2); $ndias=floor($dif/(24*60*60)); return($ndias); }
neorent:
--- Código: Text --- //////////////////////////////////////////////////////Convierte fecha de mysql a normal////////////////////////////////////////////////////function cambiaf_a_normal($fecha){ ereg( "([0-9]{2,4})-([0-9]{1,2})-([0-9]{1,2})", $fecha, $mifecha); $lafecha=$mifecha[3]."/".$mifecha[2]."/".$mifecha[1]; return $lafecha;} //////////////////////////////////////////////////////Convierte fecha de normal a mysql//////////////////////////////////////////////////// function cambiaf_a_mysql($fecha){ ereg( "([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})", $fecha, $mifecha); $lafecha=$mifecha[3]."-".$mifecha[2]."-".$mifecha[1]; return $lafecha;}
cambia la fecha
Altareum:
Hm... creo que se están olvidando de algo importante, steel necesita comparar fechas, no convertir la fecha.
Para trabajar con fechas, el método más aconsejable es usar Timestamp, y es el método más efectivo para sumar, comparar y convertir.
--- Código: Text --- $fecha = strtotime ("Sunday 24-09-2006 21:17");
Una vez convertida, podemos obtener la fecha con formato, podemos sumarle días, meses, años, segundos, etc... Podemos compararla con otra fecha del mismo formato.
Por ejemplo, para saber si la fecha es anterior al día actual:
--- Código: Text --- $fecha = strtotime ("Sunday 24-09-2006 21:17");$hoy = mktime(0,0,0,date("m"), date("d"); date("Y")); if($fecha<$hoy){ echo 'Anterior';}else{ echo 'Posterior';}
Altareum.
Navegación
[*] Página Anterior
Ir a la versión completa