• Jobs
  • About Us
  • Jobs
    • Home
    • Jobs
    • Courses and challenges
  • Businesses
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

168
Views
¿Cómo incrementar el valor en el objeto Date cada vez que haga clic en el evento usando JavaScript?

Quiero cambiar el objeto de fecha cada vez que hago clic en el botón. Estoy tratando de manejarlo usando la siguiente función:

 .on('click', '.change-date-button', function () { Date.prototype.addDays = function(days) { var date = new Date(this.valueOf()); date.setDate(date.getDate() + days); return date; } var date = new Date(); console.log(date.addDays(3)); }

Pero como resultado, obtengo el mismo objeto. ¿Cómo incrementar y disminuir el objeto de fecha de la manera correcta y obtener una nueva fecha agregada siete días cada vez que se hace clic? Como ejemplo, obtengo 18/07/2022 varias veces, sin embargo, necesito obtener 21/07/2022, 24/07/22, etc... para el siguiente clic.

over 3 years ago · Santiago Gelvez
2 answers
Answer question

0

Es una mala idea redefinir un método en un prototipo con cada clic de un botón. También podría hacer el trabajo en línea , sin ninguna función.

Además, su función hace explícitamente el trabajo de no cambiar la fecha, sino devolver una nueva, y la función siempre se llama con la fecha y hora de hoy , en cada clic.

Se refiere a "el objeto de fecha" como un objeto global, pero luego necesita crearlo como global:

 var date = new Date(); // <-- outside handler scope // ... $(document).on('click', '.change-date-button', function () { date.setDate(date.getDate() + 3); console.log(date); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <button class="change-date-button">Add three days</button>

over 3 years ago · Santiago Gelvez Report

0

Una alternativa es usar la biblioteca date-fns, porque en este caso no necesitarías rehacer algo que ya existe de forma simplificada.

https://date-fns.org/v2.28.0/docs/add

over 3 years ago · Santiago Gelvez Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Show me some job opportunities
There's an error!