Foros del Web » Programando para Internet » PHP »

Urgente!!!

Estas en el tema de Urgente!!! en el foro de PHP en Foros del Web. Hola amigosss.. necesito un gran favor.. yo quiero restar dos fechas seleccionadas por tres selec (dia/mes/año) para la fecha inicial y tres selec mas para ...
  #1 (permalink)  
Antiguo 31/05/2007, 08:30
Avatar de Oviedo  
Fecha de Ingreso: abril-2007
Ubicación: Venezuela
Mensajes: 128
Antigüedad: 16 años, 10 meses
Puntos: 0
Urgente!!!

Hola amigosss.. necesito un gran favor.. yo quiero restar dos fechas seleccionadas por tres selec (dia/mes/año) para la fecha inicial y tres selec mas para la fecha final y me de el resultado en el mismo formato (dia/mes/año). Yo lo hice pero a traves de variables con valores fijos y necesito es con los selec... Aqui le muestro mi codigo:


<form name="form1" method="post" action="">
<p align="center">&nbsp; </p>
<table border="0" align="left">
<tr>
<td width="44" align="right"> Año: </td>
<td width="242"> <select name="ano1" id="ano1" style="width: 80" >
<option>2007</option>
</select></td>
</tr>
<tr>
<td align="right"> Mes: </td>
<td> <select name="mes1" id="mes1" style="width: 80" >
<option>abril</option>
</select> </td>
</tr>
<tr>
<td align="right">Día:</td>
<td><select name="dia1" id="dia1" style="width: 80" >
<option>1</option>
</select></td>
</tr>
<tr>
<td align="right"> Fecha: </td>
<td> <input name="res1" type="text" disabled id="res1">
FECHA INICIAL</td>
</tr>
</table>
<table border="0" align="center">
<tr>
<td width="44" align="right"> Año: </td>
<td width="228"> <select name="ano2" id="ano2" style="width: 80" >
<option>2007</option>
</select></td>
</tr>
<tr>
<td align="right"> Mes: </td>
<td> <select name="mes2" id="mes2" style="width: 80" >
<option>abril</option>
</select> </td>
</tr>
<tr>
<td align="right">Día: </td>
<td><select name="dia2" id="select" style="width: 80" >
<option>20</option>
</select> </td>
</tr>
<tr>
<td align="right"> Fecha: </td>
<td>
<input type="text" name="res2" disabled>
FECHA FINAL</td>
</tr>
</table>
<p align="center">&nbsp; </p>
</form>
<?
/*defino fecha 1 */
$ano1 = 2006;
$mes1 = 10;
$dia1 = 20;

//defino fecha 2
$ano2 = 2006;
$mes2 = 10;
$dia2 = 27;

//calculo timestam de las dos fechas
$timestamp1 = mktime(0,0,0,$mes1,$dia1,$ano1);
$timestamp2 = mktime(4,12,0,$mes2,$dia2,$ano2);

//resto a una fecha la otra
$segundos_diferencia = $timestamp1 - $timestamp2;
//echo $segundos_diferencia;

//convierto segundos en días
$dias_diferencia = $segundos_diferencia / (60 * 60 * 24);

//obtengo el valor absoulto de los días (quito el posible signo negativo)
$dias_diferencia = abs($dias_diferencia);

//quito los decimales a los días de diferencia
$dias_diferencia = floor($dias_diferencia);

echo "$dias_diferencia --> ESTA ES LA RESTA PERO A TRAVES DE DATOS FIJOS POR VARIABLES";
?>
  #2 (permalink)  
Antiguo 31/05/2007, 08:41
Avatar de Antonio_España  
Fecha de Ingreso: mayo-2007
Mensajes: 58
Antigüedad: 16 años, 9 meses
Puntos: 4
Re: Urgente!!!

Yo lo que hago es pasarlo todo a microtime, hago las cuentas y luego paso de microtime a dias, horas, minutos y segundos
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:50.