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

85
Vistas
Intentando sumar 5 años usando el momento

Estoy tratando de agregar hasta 5 años y cada año se agrega, lo almaceno para mostrarlo más tarde.

 const myDate = moment("2021-07-28", "YYYY-MM-DD"); const valid = myDate.isValid(); const addYear1 = myDate.add(1, 'y'); const firstYear = addYear1; const addYear2 = firstYear.add(1, 'y'); const addYear3 = addYear2.add(1, 'y'); const addYear4 = addYear3.add(1, 'y'); const addYear5 = addYear4.add(1, 'y'); console.log("Year:", myDate); console.log("is Year Valid:", valid); console.log("Adding year1:", addYear1); console.log("Adding year2:", addYear2); console.log("Adding year3:", addYear3); console.log("Adding year4:", addYear4); console.log("Adding year5:", addYear5);
 <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js" integrity="sha512-qTXRIMyZIFb8iQcfjXWCO8+M5Tbc38Qi5WzdPOYZHIlZpzBHG3L3by84BBBOiRGiEb7KKtAOAs5qYdUiZiQNNQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

La salida termina siendo 2026 para todas las salidas. Espero ser:

 Year: 2021 Adding year1: 2022 Adding year2: 2023 Adding year3: 2024 Adding year4: 2025 Adding year5: 2026
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Prueba lo siguiente:

 const addYear1 = myDate.add(1,'y').format('YYYY'); // 2022 const addYear2 = myDate.add(1, 'y').format('YYYY'); // 2023 const addYear3 = myDate.add(1, 'y').format('YYYY'); // 2024 const addYear4 = myDate.add(1, 'y').format('YYYY'); // 2025 const addYear5 = myDate.add(1, 'y').format('YYYY'); // 2026

Simplemente reutilice el objeto de momento original y modifíquelo cada vez que desee usarlo.

about 4 years ago · Juan Pablo Isaza Denunciar

0

No estoy seguro de usar moment pero usando vanilla js puedes usar esto

 const date = new Date(); console.log(date.toString()) date.setFullYear(date.getFullYear() + 1) console.log(date.toString())

Puede pasar cualquier cadena dentro de Date() para configurarlo manualmente.

about 4 years ago · Juan Pablo Isaza Denunciar

0

add Muta el momento original agregando tiempo ( docs ).

Cada vez que agrega, no lo hace de forma aislada, está utilizando el mismo objeto. Todas sus const contienen referencias al mismo objeto de momento.

Para hacer una copia real del objeto de momento, necesitaría usar clone :

 const firstYear = addYear1; // to const firstYear = addYear1.clone();

Su resultado final podría ser algo como esto:

 const addYear2 = firstYear.clone().add(1, 'y'); const addYear3 = addYear2.clone().add(1, 'y'); const addYear4 = addYear3.clone().add(1, 'y'); const addYear5 = addYear4.clone().add(1, 'y');

O simplemente usando el mismo objeto base y agregando diferentes años:

 const myDate = moment("2021-07-28", "YYYY-MM-DD"); const addYear2 = myDate.clone().add(2, 'y'); const addYear3 = myDate.clone().add(3, 'y'); const addYear4 = myDate.clone().add(4, 'y'); const addYear5 = myDate.clone().add(5, 'y');

Consulte también este problema relacionado .

about 4 years ago · Juan Pablo Isaza Denunciar
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