Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/04/2011, 08:14
occiso
 
Fecha de Ingreso: febrero-2005
Mensajes: 198
Antigüedad: 19 años, 2 meses
Puntos: 5
Respuesta: Suma dependiendo si es día, mes o año

Te indico la solucion "casi" hecha. Y digo casi porque en javascript los meses van del cero al once, es decir que cuando creas un objeto Date con el mes cero entiende que es enero, y con el 11 entiende que es diciembre (un verdadero genio el que pensó eso). Lo más divertido de todo es que si crear un objeto date con el mes 12 interpreta que es enero del año siguiente. Haz la prueba. te falta corregir eso porque no calcula bien la fecha si pasa del año. Lo dejo para ti.


Código PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <
html xmlns="http://www.w3.org/1999/xhtml">
    <
script type="text/javascript">
    
    function 
calcular(){
    
        var 
fecha document.getElementById('inputField').value;
        
fecha fecha.split('-');
        
        var 
selFrq document.getElementById('frq').value;        
        var 
dateResult;
        var 
valor parseInt(document.getElementById('ddd').value);
        
        switch (
selFrq){
        
            case 
'dias':
                var 
dia parseInt(fecha[0]) + valor;
                
dateResult = new Date (fecha[2], parseInt(fecha[1]), dia)
            break;
            case 
'meses':
                var 
mes parseInt(fecha[1]) + valor;
                
dateResult = new Date (fecha[2], mesfecha[0])
            break;
            
            case 
'anios':
                var 
anio parseInt(fecha[2]) + valor;
                
dateResult = new Date (anioparseInt(fecha[1]), fecha[0])                
            break;
            
            default:
            
alert('la he cagado bien cagada');
        }
        
        
        var 
fechaResult dateResult.getDate() + '-' dateResult.getUTCMonth() + '-' +dateResult.getUTCFullYear();

        
document.getElementById('inputField2').value fechaResult;
    }
    
    
</script>
    <body>
        <p>Fecha de Ingreso del Equipo:
       <input type="text" size="13" id="inputField" class="moy"/>dd-mm-aaaa</p>
        <br/>
        <p>Frecuencia de mantenimiento recomendada:  
        cada: <input type="text" size="5" id="ddd" class="moy" />&nbsp;&nbsp;
            <select onchange="" name="a" style=" width: 85px;" id="frq">
                    <option value="dias"> Dias </option>
                    <option value="meses"> Meses </option>
                    <option value="anios"> Anios</option>
                    </select></p>
                    <div>
                        <input class="mibot" type="button" id="botit"  value="Calcular" onClick="calcular()"/>
                    </div>
        <br/>
        <p>Fecha Estimada del Proximo mantenimiento:
        <input type="text" size="13" id="inputField2" class="moy" /></p>
        <br/>
    </body>
    </html> 

Última edición por occiso; 09/04/2011 a las 08:22