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

235
Vistas
Restar meses de la fecha actual arroja resultados inesperados. El mismo mes (marzo) se devuelve dos veces

Creé un método que devuelve los últimos meses de acuerdo con la fecha actual y cuántos meses del pasado necesita, parece que el objeto de fecha de JavaScript se está comportando incorrectamente.

Supongo que el problema solo apareció hoy, ya que es el 29 del mes actual y restando 1 mes del 29 March , que se supone que es 29 February (no existe), javascript retrocede a +1 día ...

¿Puede alguien sugerir una gran solución para esto? Gracias 🙌

 export type Config = { n: number; i18n: i18n; }; export default function NMonthsAgo(config: Config): MonthsAgo[] { const date = new Date(); const { i18n } = config; let { n } = config; n = Math.max(n, 0); // add one month in future to include the current one. date.setMonth(date.getMonth() + 1); return Array.from({ length: n || 1 }) .map(() => { date.setMonth(date.getMonth() - 1); console.log(date.toDateString()); ===> console print. return { monthName: formatDate(i18n, date, { month: 'long' }), monthNameShort: formatDate(i18n, date, { month: 'short' }), year: formatDate(i18n, date, { year: 'numeric' }), }; }) .reverse(); }

Producción:

 NMonthsAgo.js:36 Wed Dec 29 2021 NMonthsAgo.js:36 Mon Nov 29 2021 NMonthsAgo.js:36 Fri Oct 29 2021 NMonthsAgo.js:36 Wed Sep 29 2021 NMonthsAgo.js:36 Sun Aug 29 2021 NMonthsAgo.js:36 Thu Jul 29 2021 NMonthsAgo.js:36 Tue Jun 29 2021 NMonthsAgo.js:36 Sat May 29 2021 NMonthsAgo.js:36 Thu Apr 29 2021 NMonthsAgo.js:36 Mon Mar 29 2021 <=== Mars is returned twice... NMonthsAgo.js:36 Mon Mar 01 2021 <=== Mars is returned twice... NMonthsAgo.js:36 Mon Feb 01 2021 NMonthsAgo.js:36 Fri Jan 01 2021 NMonthsAgo.js:36 Wed Dec 29 2021
about 4 years ago · Juan Pablo Isaza
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