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

200
Visualizações
Javascript: reste meses de una fecha de cadena usando la biblioteca de momentos

No se pueden restar meses de una fecha de cadena usando la biblioteca de momentos

 var str = '2015-10-30'; // date in the string format var dateMoment = moment(str) var result = moment(dateMoment).subtract(12, 'months'); console.log('old date = ', dateMoment) console.log('new date = ', result)
 <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>

¿Puedes verificar en jsfiddle: jsfiddle.net/eshwar70/5f10puqa/9; No está funcionando como se esperaba. Abra las herramientas de desarrollo y verifique. Estoy comprobando en mi navegador que no funciona como se esperaba. –

ingrese la descripción de la imagen aquí

Solución:

Agregando .format() al final de la función; var resultado = momento(fechaMomento).subtract(12, 'meses').format();

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

0

Debe consultar la documentación oficial para comprender cómo funciona su sistema interno. Aquí está la documentación oficial que explica por qué su código no muestra el valor esperado. Básicamente, está diciendo que el objeto del momento es mutable. Entonces, si está restando de la fecha original, en realidad también está cambiando la fecha original. Después de restar, mire cuidadosamente la estructura interna, verá que el valor _d en realidad ha cambiado, y puede ver el resultado usando format() .

 var str = '2015-10-30'; var dateMoment = moment(str); var result = dateMoment.clone().subtract(12, 'months').format(); console.log('old date = ', dateMoment.format()) console.log('new date = ', result)
 <script src="https://momentjs.com/downloads/moment.min.js"></script>

Momento Documentación

about 4 years ago · Juan Pablo Isaza Relatório

0

Pero tu código funciona perfectamente: ingrese la descripción de la imagen aquí

El resultado es decreciente un año porque le restas 12 meses (1 año). Entonces 2015-10-30 (restar 12 meses) = 2014-10-30

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