Foros del Web » Programando para Internet » PHP »

comparando fechas...

Estas en el tema de comparando fechas... en el foro de PHP en Foros del Web. hola pueblo phpero! estoy tratando de encontrar la forma de comparar fechas, y he visto muchos códigos (usando principalmente el buscador que tiene este foro), ...
  #1 (permalink)  
Antiguo 23/03/2003, 10:43
 
Fecha de Ingreso: mayo-2002
Ubicación: Mendoza ebria y montañosa
Mensajes: 165
Antigüedad: 21 años, 10 meses
Puntos: 0
comparando fechas...

hola pueblo phpero!

estoy tratando de encontrar la forma de comparar fechas, y he visto muchos códigos (usando principalmente el buscador que tiene este foro), pero no la cacho del todo,

la idea es que al obtener una variable (fecha) de un formulario la compare con la fecha actual y de ser mayor la fecha ingresada continuar todo como si nada. se entiende???...

no se me ocurre cómo hacerlo ni en PHP ni en MYSQL...

es muy choto, ya se, pero acá me ven...

un código, que me parecio el más claro es este:

Código PHP:
$fecha_ms=$_POST['ano']."-".$_POST['mes']."-".$_POST['dia'];

// Verificamos que la fecha ingresada no haya pasado
$fecha_actual date("n-j-y");

$partesexplode("/",$fecha_actual);
$dia2 $partes[0];
$mes2 $partes[1];
$ano2 $partes[2];

$fecha_01 mktime (0,0,0,$_POST['mes'],$_POST['dia'],$_POST['ano']);
$fecha_02 mktime (0,0,0,$mes2,$dia2,$ano2);

if(
$fecha_01<$fecha_02){
  echo 
"La fecha que ingresaste ya pasó...";
  
PiePagina();
  exit;

pero no responde, es decir, no hace bien la comparación (?)

un ejemplo de como sería $fecha_ms: 2003-01-09
(aclaro esto, por las dudas de que tengan algo que ver los ceros en 01 y 09 por ejemplo)

alguien me tira una ayudita?
un saludo,
__________________
chapu
  #2 (permalink)  
Antiguo 23/03/2003, 11:21
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
La fecha actual .. la puedes obtener simplemente con:
time() en formato timestamp como lo estas usando con mktime() para comparar en la fecha que ingresas por el formulario y compones en formato timestamp con mktime() ..

$fecha_02 = time();

Con eso puedes eliminar toda esa lógica que tienes de $fecha_actual ...

Ademas .. no te funcionaba por:
$fecha_actual = date("n-j-y");

$partes= explode("/",$fecha_actual);

compones la fecha con xx-xxx-xx y luego intentas identificar esas partes de la fecha usando como caracter delimitador el / en explode() (deberia ser "-" en tu caso) ..


Te recomiendo que no escribas código a ciegas o de un tiron y esperar que funcione a la primera .. Si ves que algo falla .. empieza hacer "echo" de tus variabels que usas por el caminio .. e intenta identificar que pasa .. ademas de leer bien en php.net que hace cada función de las que usas .. Así veras que identificas mejor los errores.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 23/03/2003, 17:50
 
Fecha de Ingreso: mayo-2002
Ubicación: Mendoza ebria y montañosa
Mensajes: 165
Antigüedad: 21 años, 10 meses
Puntos: 0
buenas...

Cluster, gracias por responder, tomo el consejo. Y bueno, gracias!!

un saludo,
__________________
chapu
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 18:31.