Suma de fechas! PHP

Hola Experto mi pregunta es la siguiente:
EN un formulario el usuario debe ingresar una fecha (esta puede ser diferente a la fecha actual)
y segun la fecha ingresada el sistema debe sumarle tres meses a esa fecha. Ejemplo:
fecha de estudio: 01/08/2011
fecha mes 3: 04/08/2011
fecha mes 6: 07/08/2011
fecha mes 9: 10/08/2011
no se si me explico, el sistema automaticamente debe determinar el mes 3, 6, 9, 12, 18, 24, 36 y 60.
Gracias por la ayuda!!

1 Respuesta

Respuesta
1
Aqui tienes ejemplos:
http://www.mygnet.net/foros/php/sumar_dias_a_una_fecha.3832/
Hola gracias por el enlace, ya lo habia resuelto con un script. aca lo comparto para otros usuarios. de una fecha ingresa calcula 3 meses hasta el mes18 y luego suma 6 meses para el mes 18 y 24 despues 12 meses para el mes 36 48 y 60.
<html>
<head>
<script language="JavaScript">
function cerosIzq(sVal, nPos){
var sRes = sVal;
for (var i = sVal.length; i < nPos; i++)
sRes = "0" + sRes;
return sRes;
}
function armaFecha(nDia, nMes, nAno){
var sRes = cerosIzq(String(nDia), 2);
sRes = sRes + "/" + cerosIzq(String(nMes), 2);
sRes = sRes + "/" + cerosIzq(String(nAno), 4);
return sRes;
}
function sumaMes(nDia, nMes, nAno, nSum){
if (nSum >= 0){
for (var i = 0; i < Math.abs(nSum); i++){
if (nMes == 12){
nMes = 1;
nAno += 1;
} else nMes += 1;
}
} else {
for (var i = 0; i < Math.abs(nSum); i++){
if (nMes == 1){
nMes = 12;
nAno -= 1;
} else nMes -= 1;
}
}
return armaFecha(nDia, nMes, nAno);
}
function calcula(){
var sFc0 = document.frm.fecha0.value; // Se asume válida
var nSum = parseInt(document.frm.meses.value);
var nSum2 = parseInt(document.frm.meses2.value);
var nSum3 = parseInt(document.frm.meses3.value);
var sFc1 = sFc0;
var sFc2 = sFc1;
var sFc3 = sFc2;
var sFc4 = sFc3;
var sFc5 = sFc4;
var sFc6 = sFc5;
var sFc7 = sFc6;
var sFc8 = sFc7;
var sFc9 = sFc8;
if (!isNaN(nSum)){
var nDia = parseInt(sFc0.substr(0, 2));
var nMes = parseInt(sFc0.substr(3, 2));
var nAno = parseInt(sFc0.substr(6, 4));
sFc1 = sumaMes(nDia, nMes, nAno, nSum); }
if (!isNaN(nSum)){
var nDia = parseInt(sFc1.substr(0, 2));
var nMes = parseInt(sFc1.substr(3, 2));
var nAno = parseInt(sFc1.substr(6, 4));
sFc2 = sumaMes(nDia, nMes, nAno, nSum); }
if (!isNaN(nSum)){
var nDia = parseInt(sFc2.substr(0, 2));
var nMes = parseInt(sFc2.substr(3, 2));
var nAno = parseInt(sFc2.substr(6, 4));
sFc3 = sumaMes(nDia, nMes, nAno, nSum); }
if (!isNaN(nSum)){
var nDia = parseInt(sFc3.substr(0, 2));
var nMes = parseInt(sFc3.substr(3, 2));
var nAno = parseInt(sFc3.substr(6, 4));
sFc4 = sumaMes(nDia, nMes, nAno, nSum); }
if (!isNaN(nSum)){
var nDia = parseInt(sFc4.substr(0, 2));
var nMes = parseInt(sFc4.substr(3, 2));
var nAno = parseInt(sFc4.substr(6, 4));
sFc5 = sumaMes(nDia, nMes, nAno, nSum2); }
if (!isNaN(nSum)){
var nDia = parseInt(sFc5.substr(0, 2));
var nMes = parseInt(sFc5.substr(3, 2));
var nAno = parseInt(sFc5.substr(6, 4));
sFc6 = sumaMes(nDia, nMes, nAno, nSum2); }
if (!isNaN(nSum)){
var nDia = parseInt(sFc6.substr(0, 2));
var nMes = parseInt(sFc6.substr(3, 2));
var nAno = parseInt(sFc6.substr(6, 4));
sFc7 = sumaMes(nDia, nMes, nAno, nSum3); }
if (!isNaN(nSum)){
var nDia = parseInt(sFc7.substr(0, 2));
var nMes = parseInt(sFc7.substr(3, 2));
var nAno = parseInt(sFc7.substr(6, 4));
sFc8 = sumaMes(nDia, nMes, nAno, nSum3); }
if (!isNaN(nSum)){
var nDia = parseInt(sFc8.substr(0, 2));
var nMes = parseInt(sFc8.substr(3, 2));
var nAno = parseInt(sFc8.substr(6, 4));
sFc9 = sumaMes(nDia, nMes, nAno, nSum3); }
document.frm.fecha1.value = sFc1;
document.frm.fecha2.value = sFc2;
document.frm.fecha3.value = sFc3;
document.frm.fecha4.value = sFc4;
document.frm.fecha5.value = sFc5;
document.frm.fecha6.value = sFc6;
document.frm.fecha7.value = sFc7;
document.frm.fecha8.value = sFc8;
document.frm.fecha9.value = sFc9;
}
</script>
</head>
<body>
<form name="frm">
<table border="0">
<tr>
<td>
<table border="1">
<tr>
<td align="right">
Fecha inicial (dd/mm/aaaa) </td>
<td><label>
<input type="text" name="fecha0" id="fecha0">
</label></td>
</tr>
<tr>
<td align="right" bgcolor="#009900">
Meses </td>
<td>
<input type="text" name="meses" value="3"> </td>
</tr>
<tr>
<td align="right" bgcolor="#009900">Meses</td>
<td><label>
<input name="meses2" type="text" id="meses2" value="6">
</label></td>
</tr>
<tr>
<td align="right" bgcolor="#009900">Meses</td>
<td><label>
<input name="meses3" type="text" id="meses3" value="12">
</label></td>
</tr>
<tr>
<td align="right" bgcolor="#009900">
Mes 3 </td>
<td>
<input name="fecha1" type="text" value="mes 3" readonly> </td>
</tr>
<tr>
<td align="right" bgcolor="#009900">Mes 6</td>
<td><label>
<input type="text" name="fecha2" id="fecha2">
</label></td>
</tr>
<tr>
<td align="right" bgcolor="#009900">Mes 9</td>
<td><label>
<input type="text" name="fecha3" id="fecha3">
</label></td>
</tr>
<tr>
<td align="right" bgcolor="#009900">Mes 12</td>
<td><label>
<input type="text" name="fecha4" id="fecha4">
</label></td>
</tr>
<tr>
<td align="right" bgcolor="#009900">Mes 18</td>
<td><label>
<input type="text" name="fecha5" id="fecha5">
</label></td>
</tr>
<tr>
<td align="right" bgcolor="#009900">Mes 24</td>
<td><label>
<input type="text" name="fecha6" id="fecha6">
</label></td>
</tr>
<tr>
<td align="right">Mes 36</td>
<td><label>
<input type="text" name="fecha7" id="fecha7">
</label></td>
</tr>
<tr>
<td align="right">Mes 48</td>
<td><label>
<input type="text" name="fecha8" id="fecha8">
</label></td>
</tr>
<tr>
<td align="right">Mes 60</td>
<td><label>
<input type="text" name="fecha9" id="fecha9">
</label></td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="center">
<input type="button" value="Calcular" onClick="calcula()">
</td>
</tr>
</table>
</form>
</body>
</html>
¿Me podrias cerrar la pregunta para que otros me puedan seguir preguntando?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas