Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

226
Vistas
¿Por qué setDate da una respuesta extraña cuando se pasa un valor de cadena?

Acabo de encontrar un error en mi código y no puedo entender por qué. Dos ejemplos a continuación de agregar días a fechas usando Date.setDate(). En el primer ejemplo, paso una duración numérica y obtengo la respuesta correcta. En el segundo ejemplo, paso una duración de cadena y obtengo una respuesta> 3 años en el futuro, ¡lo cual no es lo que quiero!

 today = new Date(); //2021-10-12 duration = 30 new Date(new Date().setDate(today.getDate() + duration)); // 2021-11-11 duration2 = '30' new Date(new Date().setDate(today.getDate() + duration2)); // 2025-02-11 why?

¿Qué sucede en el segundo ejemplo que hace que la fecha sea tan lejana en el futuro?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Cuando se agrega un número a una cadena, se concatenarán juntos. Por ejemplo, 1 + '1' === '11' .

Primero debe convertir la cadena en un número, lo que se puede hacer con el operador unario más o parseInt .

 new Date(new Date().setDate(today.getDate() + +duration2));
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda