JavaScript - Ingresar un numero y que te indique su equivalente en años, meses, semanas, días

 
Vista:

Ingresar un numero y que te indique su equivalente en años, meses, semanas, días

Publicado por Reinaldo (2 intervenciones) el 04/07/2021 03:43:26
Hola,

Necesito hacer en javascript un programa simple que al ingresar un numero entero, me indique su equivalente en Años, Meses, Semanas, dias.

Por ej. coloco 350 y me diga su equivalencia en lo indicado, me pueden ayudar

Saludos y Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Gio
Val: 368
Bronce
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Ingresar un numero y que te indique su equivalente en años, meses, semanas, días

Publicado por Gio (79 intervenciones) el 04/07/2021 08:11:49
Hola Reinaldo, tal vez este sea el código que buscas:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<input min="1" style="width: 80px;" id="num" type="number" autofocus autocomplete="off">
 
<select id="entrada" onchange="calcular()">
	<option value="1">Dias</option>
	<option value="2">Semanas</option>
	<option value="3">Meses</option>
	<option value="4">Años</option>
</select>
 
<span> son equivalentes a <span id="res"></span> </span>
 
<select id="salida" onchange="calcular()">
	<option value="1">Dias</option>
	<option value="2">Semanas</option>
	<option value="3">Meses</option>
	<option value="4">Años</option>
</select>
 
<script>
	//                {dias          } {semana          } {mes              } {año            }
	const ESCALAS = [ 1, 7, 30.4, 365, 7, 1, 4.35, 52.14, 30.42, 4.35, 1, 12, 365, 52.14, 12, 1 ]
 
	//ELEMENTOS
		let num = document.getElementById("num");
		let entrada = document.getElementById("entrada");
		let salida = document.getElementById("salida");
		let res = document.getElementById("res");
 
 
	//FUNCIONES
		function calcular(){
			let val=num.value, inp=parseInt(entrada.value), out=parseInt(salida.value);
 
			if(val<0||val=="-"){
				//CUANDO EL VALOR INGRESADO ES NEGATIVO
				num.value=0;
			} else if(val==""){
				//CUANDO NO HAY VALOR INGRESADO
				res.innerHTML="---";
			} else if(inp>=out){
				res.innerHTML=(val*ESCALAS[inp*out-1]);
			} else {
				res.innerHTML=(val/ESCALAS[inp*out-1]);
			}
		}
		calcular();
 
	//EVENTOS
		//SE DETACTA CUANDO EL USUARIO SULTA UNA TECLA SOBRE EL IMPUT
		num.addEventListener("keyup", ()=>{
			setTimeout(()=>{calcular();}, 1);
		});
		//SE DETACTA CUANDO EL USUARIO ALTERA EL VALOR DEL IMPUT HACIENDO USO DE LAS FLECHITAS
		num.addEventListener("change", ()=>{
			setTimeout(()=>{calcular();}, 1);
		});
</script>

Espero que mi aporte te sea de ayuda, un saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

Ingresar un numero y que te indique su equivalente en años, meses, semanas, días

Publicado por Reinaldo (2 intervenciones) el 05/07/2021 02:14:21
Ok muchas gracias, lo probare. Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 17
Ha aumentado su posición en 8 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Ingresar un numero y que te indique su equivalente en años, meses, semanas, días

Publicado por Facundo (3 intervenciones) el 06/07/2021 22:18:57
Cometiste dos pequeños errores ortograficos en los comentarios de la linea 49 pusiste "detacta" en vez de "detecta" y "sulta" en vez de "suelta" y en la linea 53 pusiste tambien "detacta" pero el codigo anda perfecto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gio
Val: 368
Bronce
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Ingresar un numero y que te indique su equivalente en años, meses, semanas, días

Publicado por Gio (79 intervenciones) el 07/07/2021 07:30:34
Tienes razón, se me escaparon, gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Algo más facil

Publicado por Dqni (6 intervenciones) el 06/07/2021 18:31:37
Te dejo algo más simple
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>numeroAñosMesesDias</title>
</head>
<body>
 
    <h3>Cambio número a Años meses y días</h3>
    <input type="number" id="numero"><br><br>
    <button onclick="calcular()" id="calcular">Calcular</button><br><br>
    <p id="resultado"></p>
 
    <script>
 
        function calcular( ){
 
 
 
        var numero=document.getElementById("numero").value;
 
 
 
        var años=365;
        var meses=30;
        var dias=1;
        var añosSumados=0;
        var mesesSumados=0;
        var diasSumados=0;
        var i;
 
   do{
 
      if(numero>=años){
 
          añosSumados++;
 
        numero=numero-años;
 
      }else if(numero>=meses){
          mesesSumados++;
 
        numero=numero-meses;
 
      }else if(numero>=dias){
 
         diasSumados++;
 
        numero=numero-dias;
 
        }
 
 
        }while(numero>0)
 
        document.getElementById("resultado").innerHTML=(
 
                añosSumados + " Años  "+ mesesSumados + "  Meses  " + diasSumados + " Días");
 
 
    }
 
    </script>
 
</body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar