Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

353
Visualizações
Usando Luxon, ¿cuál es la mejor manera de convertir una duración en una cuenta regresiva con el siguiente formato T-HH:MM:SS?

Estoy canalizando un valor de tiempo que se parece a este PT43H22M15S, por ejemplo, a través de algunos métodos de matriz para que, mientras cuenta, pueda salir del otro lado con este aspecto 43:22:15. La forma en que hago esto es así ...

 return this.millisRemaining$.pipe( map((val) => { console.log(val); const duration = Duration.fromMillis(val); console.log(duration); const result = duration .shiftTo('hours', 'minutes', 'seconds') .toString(); console.log(result); return result; }), map((val) => { console.log(`from tap: ${val}`); const slicedVal = val.slice(2); console.log(slicedVal); const replacedVal = slicedVal .replace('H', ':') .replace('M', ':') .replace('S', ''); console.log(replacedVal); return replacedVal; }) ); }

sin embargo, tengo un problema. Digamos que quiero comenzar con 43 horas. La salida será 43: y si el número anterior es un 0 no aparecerá. como :11 ... :10 ... :9 ...etc ¿Cómo hago para que muestre 43:00:00 and :09 ... :08 , etc.?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Use la función toFormat: https://moment.github.io/luxon/api-docs/index.html#durationtoformat

StackBlitz: https://stackblitz.com/edit/node-v364nf?file=index.js

En NodeJS usando Luxon versión 2.3.1:

 import { Duration } from 'luxon'; const duration1 = Duration.fromObject({ hour: 43 }); const output1 = duration1.toFormat('T-hh:mm:ss'); console.log(output1); //T-43:00:00 const duration2 = duration1.minus({ hours: 3, minutes: 33, seconds: 33 }); const output2 = duration2.toFormat('T-hh:mm:ss'); console.log(output2); //T-39:26:27 const isoDuration = Duration.fromISO('PT43H22M15S'); const output3 = isoDuration.toFormat('T-hh:mm:ss'); console.log(output3); //T-43:22:15

Resultado del código:

 ❯ npm run start $ node index.js T-43:00:00 T-39:26:27 T-43:22:15
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda