javascript

Calcular dinero reunido en un período de tiempo con JavaScript

En este post te mostraré un script muy simple que calcula cuánto dinero se reuniría en un período de tiempo si cada persona coopera una cantidad cada cierto tiempo.

Por ejemplo, cuánto dinero se puede reunir si cooperas 100 pesos cada semana desde el 1 de enero de 2021 hasta el 10 de abril de 2022.

El script te dirá cuánto dinero deberías llevar en cada fecha, sumando cada cooperación. Aunque esto suene simple puede servir para tandas, ahorros personales (así puedes saber cuánto tendrías si ahorras en un período), cooperaciones o cálculo de préstamos o deudas en un plazo.

Código para cálculo de dinero reunido en plazo

Comencemos viendo el código. Lo he hecho en JavaScript, así se puede ejecutar en Node o directamente en la consola del navegador (además, era lo único amigable que tenía a la mano cuando lo programé).

// https://parzibyte.me/blog
const inicio = new Date("2021-01-01T00:00:00");
const fin = new Date("2022-04-10T00:00:00");
const UN_DIA_EN_MILISEGUNDOS = 1000 * 60 * 60 * 24;
const INTERVALO_COOPERACION = UN_DIA_EN_MILISEGUNDOS * 7; // Cada semana
const COOPERACION = 500;
const formateadorFecha = new Intl.DateTimeFormat('es-MX', { dateStyle: 'medium', });
const formateadorDinero = new Intl.NumberFormat("en", { style: "currency", "currency": "MXN" });

let suma = 0;
for (let i = inicio; i <= fin; i = new Date(i.getTime() + INTERVALO_COOPERACION)) {
 suma += COOPERACION;
 console.log(`Para ${formateadorFecha.format(i)} se lleva ${formateadorDinero.format(suma)}`);
}

Comenzamos viendo que definimos las fechas del plazo en el que vamos a calcular cuánto dinero se reuniría. Aquí puedes cambiar los valores si quieres calcular otro período de tiempo.

Luego defino algunas constantes, por ejemplo, un día en milisegundos (ya que vamos a trabajar con fechas y objetos de tipo Date) que nos servirá más adelante en el intervalo de cooperación.

En cuanto al intervalo de cooperación podrías cambiarlo a tus necesidades. Por ejemplo, si fuera cada 30 días entonces sería multiplicarlo por 30, si fuera cada año sería multiplicarlo por 365 y así sucesivamente.

Nota: el monto que se ahorra o coopera está definido en la línea 6.

Más adelante en la línea 7 y 8 defino algunos formateadores que van a, como su nombre lo dice, formatear el dinero y la fecha. Eso es para hacerlo más entendible para el usuario.

Sumar dinero reunido en intervalo con JavaScript

Dinero reunido en período de tiempo con JavaScript

La magia sucede en la línea 10 hasta la línea 14. Ahí defino la suma, luego hago un ciclo for con fechas, ya que las fechas se pueden representar como la cantidad de milisegundos transcurridos desde el 1 de enero de 1970.

Dentro del ciclo estoy haciendo la suma de la cooperación con el total reunido, imprimiendo la fecha actual y la cantidad reunida.

No te preocupes si las fechas no son exactas en cuanto al período, ya que el programa solo calcula mientras la fecha sea menor o igual que el fin.

Por ejemplo, para el código de arriba (el código, no la imagen), la última fecha será el 8 de abril aunque hayamos definido el fin en el 10 de abril. Esto es porque ya no se puede agregar otra semana sin ir más allá del 10 de abril.

Si algo no te ha quedado claro recuerda leer los posts que dejé citados a lo largo de este artículo. Para terminar te dejo con más posts de JavaScript en mi blog.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Servidor HTTP en Android con Flutter

El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…

4 días hace

Imprimir automáticamente todos los PDF de una carpeta

En este post te voy a enseñar a designar una carpeta para imprimir todos los…

5 días hace

Guía para imprimir en plugin versión 1 desde Android

En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…

1 semana hace

Añadir tasa de cambio en sistema de información

Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…

2 semanas hace

Comprobar validez de licencia de plugin ESC POS

Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…

2 semanas hace

Imprimir euro € en impresora térmica

Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…

4 semanas hace

Esta web usa cookies.