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

213
Visualizações
Momento JS Fecha Diferencia como Mes

Estoy tratando de obtener la diferencia entre la hora local actual y el 1 de diciembre de 2021 a las 4 p. m. Hay una diferencia de 6 meses y 2 horas. En este caso, espero que la respuesta sea algo similar a 6.02. Pero 5.98 está llegando. ¿Cómo puedo obtener la respuesta que quiero?

ingrese la descripción de la imagen aquí

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

0

De acuerdo con los documentos de moment.js , la forma estándar de obtener la diferencia entre dos fechas en su ejemplo sería now.diff(date, 'months', true) , que debería devolver un número de punto flotante mayor que 6.

now.diff(date) devuelve la diferencia de milisegundos entre esos dos puntos en el tiempo. Llamar moment.duration({milliseconds}).asMonths() no es ideal porque algunos meses pueden tener 30 días y otros pueden tener 31 días. Parece que moment.js usa entre 30 y 31 días como la duración de un mes. Para abordar este problema, moment.js ha discutido las diferencias de calendario en los documentos:

moment#diff tiene un manejo especial para las diferencias de mes y año. Está optimizado para garantizar que dos meses con la misma fecha estén siempre separados por un número entero.

Así que del 15 de enero al 15 de febrero debería ser exactamente 1 mes.

Del 28 de febrero al 28 de marzo debería ser exactamente 1 mes.

Del 28 de febrero de 2011 al 28 de febrero de 2012 debe ser exactamente 1 año.

about 4 years ago · Juan Pablo Isaza Relatório

0

La definición de "un mes" solo puede ser "confusa", ya que los meses del calendario tienen diferentes duraciones. Una forma de definirlo sería dividir el año en 12 partes iguales y usar eso como una "métrica mensual":

 function monthsUntil(year,month,day,hour=0){ const trg=new Date(year,month-1,day,hour,0,0), now=new Date(), nxt=new Date(); nxt.setFullYear(nxt.getFullYear()+1); return (12*(trg-now)/(nxt-now)).toFixed(4); } console.log(monthsUntil(2022,12,1,16))

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