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

147
Vistas
Cómo obtener el tiempo restante de 24 horas en JavaScript

Tengo un problema, en el que trato de encontrar la cantidad de horas y minutos después de la última vez que recogí el artículo. Por ejemplo, si había recogido el artículo hace 1 minuto, el código debería poder imprimir el tiempo restante para recoger el artículo nuevamente (23 h y 59 m) en este formato. Hasta ahora, he trabajado esto mucho:

UserJSON es un archivo JSON con el nombre del usuario y la hora de su último reclamo

 let deltaHour = Math.floor(new Date().getTime() - UserJSON[message.author.id].lastclaim) / (60 * 60 * 24) let deltaRealHour = Math.floor(deltaHour) let deltaMin = ((deltaHour % 1) / 100) * 60

Por favor, ayúdame.

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

0

getTime() es milisegundos desde el 1 de enero de 1970, 00:00:00.000 GMT

 let lastclaim = 1632196398605; let delta = (new Date() - new Date(lastclaim)) / (60 * 1000 * 60); let deltaHrs = Math.floor(delta); let deltaMins = Math.floor((delta % 1) * 60); console.log(`deltaHrs:`, deltaHrs); console.log(`deltaMins:`, deltaMins);
about 4 years ago · Juan Pablo Isaza Denunciar

0

Aquí hay una posible solución.

Puede usar la función que escribí antes (timeUntilNextClaim()), proporcionarle la última vez que su usuario reclamó el artículo (en epoch segundos) y le devolverá los milisegundos delta hasta que se pueda reclamar el artículo.

Luego puede usar la segunda función que escribí para usted (toHrsAndMinutes) para convertir milisegundos en horas y minutos (redondeando hacia abajo, por supuesto).

Por favor, hágamelo saber si tiene alguna pregunta o si desea obtener más ayuda con esto. Estaré encantado de ayudar.

 function timeUntilNextClaim(LastClaim) { /* this function takes an epoch time of the last time the user claimed the item as an argument and returns (in ms) the time until they can pick up the item again */ let now = new Date(); // add 24 hours to last claim time to calculate next claim time let timeTilClaim = (LastClaim + 8.64e7) - now; if (timeTilClaim <= 0) { return 0; } else { return timeTilClaim; } } function toHrsAndMinutes(duration) { // this function will return an array of [hours, minutes] of a duration specified in ms var hours, minutes; hours = Math.floor(duration / 3.6e6); minutes = Math.floor((duration % 3.6e6) / 60000); return [hours, minutes]; } function test() { // tests / Example Usage let usrLastClaimTime = new Date() - 20160000; // lets pretend they claimed it last 5.6 hours ago let now = new Date(); let msTilNextClaim = timeUntilNextClaim(usrLastClaimTime); let hoursTilClaim, minsTilClaim; [hoursTilClaim, minsTilClaim] = toHrsAndMinutes(msTilNextClaim); console.log(`The current time is ${now}`); console.log(`The item was last claimed at ${Date(usrLastClaimTime)}`); console.log(`You can claim again in ${hoursTilClaim} Hours and ${minsTilClaim} Minutes`); } test();

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