Foros del Web » Programando para Internet » PHP »

calculo entre fechas (lei las FAQs)

Estas en el tema de calculo entre fechas (lei las FAQs) en el foro de PHP en Foros del Web. hola, estoy un poco perdido sobre como encarar este tema, lei las FAQs pero no supe como aplicarlo. Tengo un formulario donde cargo unos 10 ...
  #1 (permalink)  
Antiguo 18/03/2008, 06:36
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 21 años
Puntos: 1
calculo entre fechas (lei las FAQs)

hola, estoy un poco perdido sobre como encarar este tema, lei las FAQs pero no supe como aplicarlo.

Tengo un formulario donde cargo unos 10 datos y al subirlo a la base lo subo con la fecha de ese momento de la siguiente manera:

$dia = date(d);
$mes = date(m);
$ano = date(y);
$fecha = $ano."/".$mes."/".$dia;

ahora yo despues muestro los datos y necesito saber los dias que han pasado de la carga de este pedido a la fecha en la que estamos.

Mi pregunta es:


1) como hago que un campo de la base me muestre siempre el dia en el que estoy para asi poder hacer el calculo entre fechas. (no se si es necesario crear un campo para eso)

Gracias a todos!
__________________
Bye!
  #2 (permalink)  
Antiguo 18/03/2008, 06:43
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Re: calculo entre fechas (lei las FAQs)

probablemente el problema esta en que el php y mysql no esten en el mismo servidor por ende tengan horas relativamente distitnas

podrias corregirlo con setlocate() de php
__________________
Degiovanni Emilio
developtus.com
  #3 (permalink)  
Antiguo 18/03/2008, 07:02
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 21 años
Puntos: 1
Re: calculo entre fechas (lei las FAQs)

Necesito una idea de como armarlo, osea donde va el calculo entre la fecha del dia de hoy y en la que carge el pedido...y que despues devuelva el dato en una variabla llamada $dias calculo...pero no se como hacerlo

el php y mysql esta todo en el mismo lugar

gracias denuevo
__________________
Bye!
  #4 (permalink)  
Antiguo 18/03/2008, 07:14
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Re: calculo entre fechas (lei las FAQs)

$fecha = $ano."/".$mes."/".$dia;

en vez de eso, pon esto.

$hoy=$ano.$mes.$dia;

con esto podras hacer una resta y saber cuantos dias han pasado.



NOTA: para que no se te vea mal la fecha, te recumindo colocar el dia-mes-ano cada uno en una caja de texto. ej:


saludillos :D

Código PHP:
<input type="text" readonly name="dia" size=2 maxlength=2   value="<? echo $dia?>">
      /
      <input type="text" readonly name="mes" size=2 maxlength=2   value="<? echo $mes?>">
      /
      <input type="text" readonly name="ano" size=4 maxlength=4   value="<? echo $ano?>">
  #5 (permalink)  
Antiguo 18/03/2008, 07:43
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 21 años
Puntos: 1
Re: calculo entre fechas (lei las FAQs)

creo q no nos entendemos...explico mejor...
tengo un formulario que al enviarlo va aqui:

Código PHP:
<?php
require('configuracion.php');
require(
'funciones.php');

$dia date(d);    
$mes date(m);
$ano date(y);
$fecha $ano."/".$mes."/".$dia;
$nombre $_POST["nombre"];
$apellido $_POST["apellido"];
$telefono $_POST["telefono"];
$celular $_POST["celular"];
$mail $_POST["mail"];
$direccion $_POST["direccion"];
$operacion $_POST["operacion"];
$se_comunico $_POST["se_comunico"];
$medio $_POST["medio"];
$es_cliente $_POST["es_cliente"];
$ambientes $_POST["ambientes"];
$banos $_POST["banos"];
$plantas $_POST["plantas"];
$jardin $_POST["jardin"];
$fondo $_POST["fondo"];
$patio $_POST["patio"];
$terraza $_POST["terraza"];
$quincho $_POST["quincho"];
$pileta $_POST["pileta"];
$lavadero $_POST["lavadero"];
$ascensor $_POST["ascensor"];
$balcon $_POST["balcon"];
$garage $_POST["garage"];
$cochera $_POST["cochera"];
$expensas $_POST["expensas"];
$ubicacion $_POST["ubicacion"];
$barrio $_POST["barrio"];
$presupuesto $_POST["presupuesto"];
$situacion $_POST["situacion"];
$comentarios $_POST["comentarios"];
$comentarios_sede $_POST["comentarios_sede"];
$estado $_POST["estado"];
//

mysql_query("INSERT INTO pedidos (fecha, usuario_alta, user, operador_alta, nombre, apellido, telefono, celular, mail, direccion, operacion, se_comunico, medio, es_cliente, busca, ambientes, banos, plantas, garage, cochera, jardin, fondo, patio, terraza, quincho, pileta, lavadero, ascensor, balcon, expensas, ubicacion, barrio, presupuesto, situacion_economica, tasacion, comentarios, comentarios_sede, estado) 
VALUES ('$fecha','$vendedor','$user','$operador','$nombre','$apellido','$telefono','$celular','$mail','$direccion','$operacion','$se_comunico','$medio','$es_cliente','$busca','$ambientes','$banos','$plantas','$garage','$cochera','$jardin','$fondo','$patio','$terraza','$quincho','$pileta','$lavadero','$ascensor','$balcon','$expensas','$ubicacion','$barrio','$presupuesto','$situacion','$tasacion','$comentarios','$comentarios_sede','$estado' )"
) or die (mysql_error()); 

?>
donde $fecha es igual a la fecha en que se cargo el formulario, ahora voy a la hoja donde muestro los datos:

Código HTML:
<table width="90%" border="0" align="center" cellpadding="2" cellspacing="2" bgcolor="<?=$color?>">
  <tr class="texto">
    <td width="8%" align="center" class="texto"><div align="center"><font size="-2">
    <span class="Estilo3">
    <?=$id?>
    </span> </font></div></td>
    <td width="16%" align="center" class="texto"><font size="-2"><span class="texto">
    </span><span class="texto"></span></font><font size="-2">
    <span class="texto">
    <?=$nombre?>
    </span> </font></td>
    <td width="21%" align="center" class="texto"><span class="texto">
      <?=$apellido?>
    </span></td>
    <td width="21%" align="center"><div align="center"><span class="links"> <font size="-2">
        <?=$telefono?>
    </font></span></div></td>
    <td width="21%" align="center"><div align="center"><span class="links">
        
      <font size="-2">
        <?=$operacion?>
      </a></font></span></div></td>
    <td width="18%" align="center"><div align="center"><span class="texto">
        <?=$busca?>
    </span></div></td>
    <td width="18%" align="center"><div align="center"><span class="texto">
<?=$dias?>
</span></div></td>
    <td width="8%" align="center" class="texto"><?=$estado?></td>
  </tr>
</table> 
aqui donde dice $dias quiero que me muestre la cantidad de dias que pasaron entre la fecha en la que carge el formulario (ya la tengo guardada en el campo fecha) y la fecha del dia en el que estoy ahora. (esto ultimo es lo que no se hacer y donde ponerlo).

gracias al que lee esto que es bastante complejo.
__________________
Bye!
  #6 (permalink)  
Antiguo 18/03/2008, 08:07
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Re: calculo entre fechas (lei las FAQs)

como te dije antes, mira yo hice algo parecido, cuando hallan pasado 2 dias antes de la fecha guardada, me lo visualice.

con respecto a lo tuyo, ya tienes la fecha anterior que se llama $fecha ahora crea otro

$dia1 = date(d);
$mes1 = date(m);
$ano1 = date(y);
$fecha1 = $ano1."/".$mes1."/".$dia1;

ahora tienes las 2 fechas, solo hace la resta de la fecha anterior y la fecha de hoy, y te mostrara los dias que han pasado.

$resta = $fecha - $fecha1;

de todas formas de dejo un ejemplo de mi codigo anterior.

Código PHP:
 $fech_actu date("d-m-Y"); // fecha actual
 
$f_ni_aaa date("Y"); // Año actual
 
$f_ni_mmm date("m"); // Mes actual
 
$f_ni_ddd date("d"); // Dia actual

 
$time time(); // Timestamp Actual
 
$restar = (24*60*60)*2// (horas*minutos*segundos)*2 -> numero de segundos en dos dias

 
$time_ante $time-$restar;

 
$fech_ante date("d-m-Y",$time_ante); // fecha con dos dias menos
 
$f_ni_aa_ante date("Y",$time_ante); // Año con dos dias menos
 
$f_ni_mm_ante date("m",$time_ante); // Mes con dos dias menos
 
$f_ni_dd_ante date("d",$time_ante); // 2 dias antes de hoy


$hoy=$f_ni_aa_ante.$f_ni_mm_ante.$f_ni_dd_ante
  #7 (permalink)  
Antiguo 18/03/2008, 08:35
Avatar de RoggerElfo  
Fecha de Ingreso: enero-2008
Ubicación: En la ciudad de los Reyes LIMA !
Mensajes: 121
Antigüedad: 16 años, 3 meses
Puntos: 2
Re: calculo entre fechas (lei las FAQs)

yo lo hago mas o menos asi ...

Código PHP:
$hora1 strtotime($FECHA);
$hora2 strtotime($FECHAH);

if(
$hora1 $hora2)
{
 
bla bla bla

pasa la hora de inicio y la hora final a segundos ... luego vez si la hora final es mayor que la hora de inicio ...
  #8 (permalink)  
Antiguo 18/03/2008, 09:00
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 21 años
Puntos: 1
Re: calculo entre fechas (lei las FAQs)

gracias hulray me salvaste! :D
__________________
Bye!
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 08:04.