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.
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.
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.
El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
Esta web usa cookies.