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

272
Vistas
Cómo convertir segundos a tiempo en Javascript

Tengo que convertir segundos a formato de hora:

 seconds_1 = 540; seconds_2 = -2820; convert_1 = new Date(seconds_1 * 1000).toISOString().substr(11, 8); convert_2 = new Date(seconds_2 * 1000).toISOString().substr(11, 8); console.log(convert_1); console.log(convert_2);

regresará,

 convert_1 : 00:09:00 convert_2 : 23:13:00

el primero (convert_1) es correcto, pero el segundo debería devolver -00:47:00 .

El problema real es que el valor negativo no se está convirtiendo en tiempo correctamente.

Por favor ayuda.

Intenté esto,

 function toTime(duration) { // Hours, minutes and seconds var hrs = ~~(duration / 3600); var mins = ~~((duration % 3600) / 60); var secs = ~~duration % 60; let ret = hrs+ ":" + mins + ":" + secs; return ret; } seconds_1 = 540; seconds_2 = -2820; console.log(toTime(seconds_2 ));

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

0

Una solución pragmática es eliminar el signo y luego agregarlo nuevamente:

 function toTime(seconds) { if (seconds < 0) return "-" + toTime(-seconds); return new Date(seconds * 1000).toISOString().substr(11, 8); } console.log(toTime(540)); console.log(toTime(-2820));

about 4 years ago · Juan Pablo Isaza Denunciar

0

Solo prueba

 const convert = secs => { const sign = secs < 0 const hhmmss = new Date(Math.abs(secs) * 1000).toISOString().substr(11, 8); return sign ? '-' + hhmmss : hhmmss } console.log(convert(540)); console.log(convert(-2820));

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