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

224
Vistas
Agregar segundos al objeto DateTime de javascript mediante el uso de un aviso

Tengo esta página web que toma una entrada en segundos y produce cuál será el tiempo después de que haya transcurrido el tiempo. Así que lo hice usando el siguiente código

 let duration = prompt("Enter your trip duration in seconds: "); // get the time from the vaue of the input element let newtime = new Date(); // get the current time newtime.setSeconds(newtime.getSeconds() + duration)

Decidí probar el código y me dio resultados raros y por alguna razón cuando dividí la duración por diez empezó a funcionar. A pesar de que funcionó no estaba satisfecho. Así que agregué un poco más de código para tratar de encontrar dónde está el error.

 let oldtime = new Date(); oldtime.setSeconds(oldtime.getSeconds() + 60);

Agregué un código para que se mostrara en la página web para comparar los dos tiempos y estos son mis resultados cuando ingreso 60 como la duración...

Código

Solo un pequeño resumen. El código funciona cuando codifico los valores pero se comporta de manera extraña si trato de obtener la entrada de un mensaje

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

0

Está concatenando una cadena a un número en lugar de agregar. Tienes que analizar el resultado de la prompt a un número (con el operador más unario ):

 let duration = prompt("Enter your trip duration in seconds: "); // get the time from the vaue of the input element let newtime = new Date(); // get the current time newtime.setSeconds(newtime.getSeconds() + +duration) console.log(newtime)

about 4 years ago · Juan Pablo Isaza Denunciar

0

Creo que el problema se debe a que necesita analizar la duración de una cadena a un número. Entonces, prueba esto

newtime.setSeconds(newtime.getSeconds() + parseInt(duration, 10))

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede usar una biblioteca como Luxon para manejar fechas y horas sin tener que preocuparse por un comportamiento inesperado como el que describió.

 import { DateTime } from "luxon"; const now = DateTime.now(); const timeAfterTrip.plus({ seconds: duration }); console.log(timeAfterTrip);
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