Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

194
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!