Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Calculo De Dias Entre Dos Fechas

Estas en el tema de Calculo De Dias Entre Dos Fechas en el foro de Bases de Datos General en Foros del Web. hola: Estoy intentando trabajar con fechas en Mysql y la verdad para mi es un verdadero problem. 1- Como hago para que la fecha con ...
  #1 (permalink)  
Antiguo 07/10/2003, 20:37
 
Fecha de Ingreso: noviembre-2002
Ubicación: cordoba
Mensajes: 59
Antigüedad: 21 años, 4 meses
Puntos: 0
Calculo De Dias Entre Dos Fechas

hola:

Estoy intentando trabajar con fechas en Mysql y la verdad para mi es un verdadero problem.
1- Como hago para que la fecha con formato aaaa-mm-dd pueda ser cargada desde un formulario en html

2- como puedo hacer calculo de dias entre 2 fechas ??

desde ya muchas gracias
  #2 (permalink)  
Antiguo 07/10/2003, 22:51
 
Fecha de Ingreso: septiembre-2003
Mensajes: 248
Antigüedad: 20 años, 6 meses
Puntos: 2
aqui tengo un par de funciones

Hola, tengo un par de funciones que quizá te ayuden:
1. funcion para convertir de año, mes dia a dia mes año
function fsalida($cad2)
{
$tres=substr($cad2, 0, 4);
$dos=substr($cad2, 5, 2);
$uno=substr($cad2, 8, 2);
$cad = ($uno."/".$dos."/".$tres);
return $cad;
}
2. función para restar dos fechas y el resultado en dias
(las fechas ingresadas deben estar en dia mes año)
function ddiff($fromdate,$todate)
{
$fromd = sscanf("$fromdate","%d/%d/%d");
$tod = sscanf("$todate","%d/%d/%d");

$yrdiff = $tod[2]-$fromd[2];
$mondiff = $tod[1]-$fromd[1];
$datediff = $tod[0]-$fromd[0];
$datediff1 = 'fg';
if ($yrdiff >= 0)
{
if ($mondiff<0)
{
$mondiff1 = $mondiff + 12 - 1;
}
else if ($mondiff>=0 and $yrdiff>0)
{
$mondiff1 = $mondiff+12*$yrdiff;
}
else
{
$mondiff1 = $mondiff;
}
$days = 0;

if ($mondiff1>1)
{
$mon = $fromd[1];
$yr = $fromd[2];

for($i=1 ; $i<=$mondiff1-1 ; $i++ )
{
$mon = $mon+1;
if ($mon>12)
{
$mon=1;
$yr =$yr+1;
}
$days = $days+date(t,mktime(0,0,0,$mon,1,$yr));
}
}
else if ($mondiff1 == 1)
{
$datediff1 = $tod[0] + date(t,mktime(0,0,0,$fromd[1],$fromd[0],$fromd[2])) - $fromd[0];
}
else $datediff1 = $datediff;

$days = $days + $datediff1 ;
return $days;
}
}

Imporante: estas funciones las he encontrado en www.phpbuilder.com sección code library, si te puedas dar una vuelta por allí encontrarás código interesante
Suerte!
__________________
Jose A
  #3 (permalink)  
Antiguo 26/08/2004, 10:18
Avatar de andinistas  
Fecha de Ingreso: julio-2003
Ubicación: Bogotá COL
Mensajes: 1.000
Antigüedad: 20 años, 8 meses
Puntos: 0
ok

Hola amigos, yo resolví el problema así


Código PHP:

$id
$_GET[id];

//calculo SQL entre 2 fechas
$diasmysql_query("SELECT TO_DAYS(hasta) - TO_DAYS(desde) FROM mitabla WHERE id='$id'");
$calculo mysql_result($dias,0); 
más adelante imprimo la consulta
Código PHP:
<?=$calculo;?>
__________________
Un Saludo, Andinistas.
"Llegaron... Ellos tenían la biblia y nosotros la tierra... y nos dijieron: 'Cierren los ojos y recen.' Cerramos los ojos y cuando los abrimos,
ellos tenían la tierra y nosotros la biblia." Abadío Green.
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 02:16.