• Domingo 22 de Diciembre de 2024, 09:31

Autor Tema:  Comparar Fechas En Php  (Leído 7575 veces)

steel

  • Miembro activo
  • **
  • Mensajes: 56
    • Ver Perfil
Comparar Fechas En Php
« en: Martes 14 de Noviembre de 2006, 11:42 »
0
Hola, tengo una serie de documentos con la fecha en la que se crearon de la siguiente manera: "Sunday 24-09-2006 21:17", y necesito compararla con otra fecha que yo le paso para ver si el documento es anterior a esa fecha o posterior.

He buscado en google y he encontrado cosas pero no me funcionan asique prefiero que me aconsejeis vosotros. El formato en el que le pase la fecha yo no me importa cual sea.

Gracias por vuestro tiempo.


ibito

  • Miembro HIPER activo
  • ****
  • Mensajes: 549
  • Nacionalidad: mx
  • Se mas de C++ que lo que se de ese CSS
    • Ver Perfil
    • http://www.ibquezada.com
Re: Comparar Fechas En Php
« Respuesta #1 en: Martes 14 de Noviembre de 2006, 16:38 »
0
¿No puedes sustraer la fecha de esa cadena? por ejemplo con un explode(" ", $fecha);
______________________________________
www.hazjuegos.com Una comunidad dedicada al desarrollo de videojuegos.

steel

  • Miembro activo
  • **
  • Mensajes: 56
    • Ver Perfil
Re: Comparar Fechas En Php
« Respuesta #2 en: Martes 14 de Noviembre de 2006, 17:03 »
0
hombre, si pero eso no me vale para comparar las fechas no?


ibito

  • Miembro HIPER activo
  • ****
  • Mensajes: 549
  • Nacionalidad: mx
  • Se mas de C++ que lo que se de ese CSS
    • Ver Perfil
    • http://www.ibquezada.com
Re: Comparar Fechas En Php
« Respuesta #3 en: Martes 14 de Noviembre de 2006, 17:17 »
0
¿Cómo buscaste en Google? Yo busqué (sin comillas): "php comparar fechas"
http://dns.bdat.net/trucos/faqphp-v1/x338.html
______________________________________
www.hazjuegos.com Una comunidad dedicada al desarrollo de videojuegos.

steel

  • Miembro activo
  • **
  • Mensajes: 56
    • Ver Perfil
Re: Comparar Fechas En Php
« Respuesta #4 en: Martes 14 de Noviembre de 2006, 17:26 »
0
Bueno yo busque en ingles, pero de todas maneras eso tampoco me vale porque para que funcionara las fechas deberian ser asi:

$f1="30/01/1993";
           
$f2="30-01-1992";

y las mias incluyen dia de la semana y hora.

A alguien se le ocurre otra cosa?


orkristmex

  • Miembro activo
  • **
  • Mensajes: 27
    • Ver Perfil
Re: Comparar Fechas En Php
« Respuesta #5 en: Domingo 19 de Noviembre de 2006, 07:26 »
0
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

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Comparar Fechas En Php
« Respuesta #6 en: Viernes 31 de Agosto de 2007, 22:56 »
0
Esta funcion te compara 2 fechas y retorna la diferencia en dias.
Espero te sirva yo la uso y sirve perfectamente.

Código: Text
  1.  
  2. ### - Esta funcion compara 2 fechas y retorna la diferencia (dd-mm-yyyy) - ###
  3.  function compara_fechas($fecha1,$fecha2) {
  4.   if(preg_match("/[0-9]{1,2}\/[0-9]{1,2}\/([0-9][0-9]){1,2}/",$fecha1))
  5.      list($dia1,$mes1,$año1)=split("/",$fecha1);
  6.   if(preg_match("/[0-9]{1,2}-[0-9]{1,2}-([0-9][0-9]){1,2}/",$fecha1))
  7.      list($dia1,$mes1,$año1)=split("-",$fecha1);
  8.   if(preg_match("/[0-9]{1,2}\/[0-9]{1,2}\/([0-9][0-9]){1,2}/",$fecha2))
  9.      list($dia2,$mes2,$año2)=split("/",$fecha2);
  10.   if(preg_match("/[0-9]{1,2}-[0-9]{1,2}-([0-9][0-9]){1,2}/",$fecha2))
  11.      list($dia2,$mes2,$año2)=split("-",$fecha2);
  12.   $dif = mktime(0,0,0,$mes1,$dia1,$año1) - mktime(0,0,0,$mes2,$dia2,$año2);
  13.   $ndias=floor($dif/(24*60*60));
  14.   return($ndias);
  15.  }
  16.  
  17.  
[size=109]The Real Extreme Bikers
[/size] [size=109] El Cielo Es El Limite[/size]

neorent

  • Miembro MUY activo
  • ***
  • Mensajes: 249
    • Ver Perfil
    • http://www.laestokada.cl
Re: Comparar Fechas En Php
« Respuesta #7 en: Lunes 3 de Septiembre de 2007, 21:22 »
0
Código: Text
  1.  
  2. ////////////////////////////////////////////////////
  3. //Convierte fecha de mysql a normal
  4. ////////////////////////////////////////////////////
  5. function cambiaf_a_normal($fecha){
  6.     ereg( "([0-9]{2,4})-([0-9]{1,2})-([0-9]{1,2})", $fecha, $mifecha);
  7.     $lafecha=$mifecha[3]."/".$mifecha[2]."/".$mifecha[1];
  8.     return $lafecha;
  9. }
  10.  
  11. ////////////////////////////////////////////////////
  12. //Convierte fecha de normal a mysql
  13. ////////////////////////////////////////////////////
  14.  
  15. function cambiaf_a_mysql($fecha){
  16.     ereg( "([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})", $fecha, $mifecha);
  17.     $lafecha=$mifecha[3]."-".$mifecha[2]."-".$mifecha[1];
  18.     return $lafecha;
  19. }
  20.  

cambia la fecha
Un Tigre Nunka Kambia Sus Rayas

Altareum

  • Miembro MUY activo
  • ***
  • Mensajes: 327
    • Ver Perfil
    • http://www.avian.com.ar
Re: Comparar Fechas En Php
« Respuesta #8 en: Martes 4 de Septiembre de 2007, 16:19 »
0
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
  1.  
  2. $fecha = strtotime ("Sunday 24-09-2006 21:17");
  3.  
  4.  


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
  1.  
  2. $fecha = strtotime ("Sunday 24-09-2006 21:17");
  3. $hoy = mktime(0,0,0,date("m"), date("d"); date("Y"));
  4.  
  5. if($fecha<$hoy){
  6.    echo 'Anterior';
  7. }else{
  8.    echo 'Posterior';
  9. }
  10.  
  11.  

Altareum.
El postre!, el postre!, el postre!, el postre!, el postre!, el postre!.....
 | Klinka | Kiree | Avian |