Foros del Web » Programando para Internet » PHP »

Convertir String a Fecha

Estas en el tema de Convertir String a Fecha en el foro de PHP en Foros del Web. Necesito convertir 2 string a fecha para luego poder restarlos como date y me de el numero de dias que hay entre ellos gracias...
  #1 (permalink)  
Antiguo 22/08/2006, 16:27
 
Fecha de Ingreso: julio-2006
Mensajes: 150
Antigüedad: 17 años, 8 meses
Puntos: 0
Convertir String a Fecha

Necesito convertir 2 string a fecha para luego poder restarlos como date y me de el numero de dias que hay entre ellos gracias
  #2 (permalink)  
Antiguo 22/08/2006, 17:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Tu mismo te estas dando la solución:

strtotime()
www.php.net/strtotime

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 22/08/2006, 17:42
 
Fecha de Ingreso: julio-2006
Mensajes: 150
Antigüedad: 17 años, 8 meses
Puntos: 0
$dia_inicio = $_POST["dia_inicio"];
$mes_inicio = $_POST["mes_inicio"];
$ano_inicio = $_POST["ano_inicio"];
$fecha_inicio = $dia_inicio."/".$mes_inicio."/".$ano_inicio;

$dia_fin = $_POST["dia_fin"];
$mes_fin = $_POST["mes_fin"];
$ano_fin = $_POST["ano_fin"];
$fecha_fin = $dia_fin."/".$mes_fin."/".$ano_fin;

esa es la manera como tengo las fechas como hago para trabajar con la funcion que me dijiste necesito que esto sea algo como

fecha1 - fecha2 = numero de dias eso es lo que me interesa realmente

gracias

P.D: Fijense que el formato de las fechas es Dias/Meses/Anos
  #4 (permalink)  
Antiguo 22/08/2006, 17:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Haber empezado por ahí ...

En ese caso te viene mejor usar:

mktime()
www.php.net/mktime

compones tu fecha con los datos que tienes por separado .. obtienes un "timestamp" de ello, operas y luego con date() si necesitas le das formato.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 22/08/2006, 18:02
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Código:
<?php
$dia_inicio = 19;
$mes_inicio = 12; 
$ano_inicio = 1967; 
$fecha1=mktime(0,0,0,($mes_inicio-1),$dia_inicio,$ano_inicio);
$dia_fin =19;
$mes_fin = 12; 
$ano_fin = 2006; 
$fecha2 = mktime(0,0,0,($mes_fin-1),$dia_fin,$ano_fin);
$dias= ((($fecha2-$fecha1)/60/60)/24);
$anos=$dias/365;
echo $dias.' dias='.intval($anos).' años';
?>
  #6 (permalink)  
Antiguo 22/08/2006, 18:15
 
Fecha de Ingreso: julio-2006
Mensajes: 150
Antigüedad: 17 años, 8 meses
Puntos: 0
Necesito

Que me seas un poquito mas explicito por favor como manejarias tu eso gracias
  #7 (permalink)  
Antiguo 22/08/2006, 18:25
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por vilagutv7 Ver Mensaje
Que me seas un poquito mas explicito por favor como manejarias tu eso gracias
Más explicito? .. si te hizo todo el trabajo? .. o que deseas concretamente.

Te has leido la documentaciòn de mktime()? ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 22/08/2006, 20:11
 
Fecha de Ingreso: julio-2006
Mensajes: 150
Antigüedad: 17 años, 8 meses
Puntos: 0
Es que

No me referia a el me referia a ti, no habia leido el post de panino gracias a los 2
  #9 (permalink)  
Antiguo 23/08/2006, 16:27
 
Fecha de Ingreso: julio-2006
Mensajes: 150
Antigüedad: 17 años, 8 meses
Puntos: 0
La funcion

Me sirve pero hay u problema que me da un dia menos siempre sera que sabes pq ??? es decir del 24 al 27 me dice que son 3 dias cuando realmente estan 24 25 26 27
  #10 (permalink)  
Antiguo 23/08/2006, 16:36
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 18 años, 10 meses
Puntos: 2
Seguramente estas aplicando mal las cuentas, o las cuentas estan bien pero tu criterio de donde empezar estubo mal. Muestra el codigo y se te dira, o mejor, revisa y fijate como empiezas a contar los dias, tal vez te des cuenta solo.
  #11 (permalink)  
Antiguo 23/08/2006, 16:41
 
Fecha de Ingreso: julio-2006
Mensajes: 150
Antigüedad: 17 años, 8 meses
Puntos: 0
Aqui esta el codigo

$dia_inicio = $_POST["dia_inicio"];
$mes_inicio = $_POST["mes_inicio"];
$ano_inicio = $_POST["ano_inicio"];
$dia_fin = $_POST["dia_fin"];
$mes_fin = $_POST["mes_fin"];
$ano_fin = $_POST["ano_fin"];

$fecha_ini_date=mktime(0,0,0,($mes_inicio-1),$dia_inicio,$ano_inicio);
$fecha_fin_date = mktime(0,0,0,($mes_fin-1),$dia_fin,$ano_fin);
$dias= ((($fecha_fin_date-$fecha_ini_date)/60/60)/24);

esta tal cual el amigo que me explico hace un rato gracias de nuevo
  #12 (permalink)  
Antiguo 23/08/2006, 16:55
 
Fecha de Ingreso: enero-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 299
Antigüedad: 18 años, 3 meses
Puntos: 5
Cita:
Iniciado por vilagutv7 Ver Mensaje
Me sirve pero hay u problema que me da un dia menos siempre sera que sabes pq ??? es decir del 24 al 27 me dice que son 3 dias cuando realmente estan 24 25 26 27
Buenas. Si SIEMPRE te da un día menos de lo que buscás y no tenés ganas de mirar la lógica del código... ¿no podrías simplemente sumar 1 al resultado que obtenés?

Suerte
Califa
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 10:50.