Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Crear lista de fechas vencimiento de pagos
#1
Hola a todos.
Soy nuevo en la programación y luego de aprender lo básico en Python estoy estudiando django.
Si es posible desearía me puedan ayudar con algo que me tiene estresado (obviamente falta de experiencia).
Estoy creando una aplicación en Django en donde tiene un formulario para ingresar  nombre de cliente, fecha de inicio, periodo de años y forma de pago.
Necesito que al colocar la fecha de inicio, el periodo y la forma de pago (Ejemplo pago cada 45 días), el sistema calcule durante esos 3 años cuales son las fecha que debería realizarle el pago a ese cliente.

Ej: ingreso el 31/12/22 y quiero invertir durante 3 años, pero quiero que me paguen x comisión cada 45 días (tomando encuenta la fecha que yo realice la inversión y de ahí sume 45 días a cada fecha durante los 3 años de inversión que seleccione) y luego yo pueda visualizar las fechas de pago para ese cliente.
Responder
#2
Hola, bienvenido.

Usando el módulo estándar datetime para manejar las fechas, es relativamente sencillo. Por ejemplo:

Código:
import datetime

fecha_inicio = datetime.date(2022, 12, 22)
periodo = 3    # en años
intervalo_pago = 45     # en días

fecha_fin = fecha_inicio + datetime.timedelta(days=365 * periodo)
fechas_de_pago = []

while fecha_inicio <= fecha_fin:
    fecha_inicio = fecha_inicio + datetime.timedelta(days=45)
    fechas_de_pago.append(fecha_inicio)

print(fechas_de_pago)

Básicamente se usa un bucle para ir sumando 45 días a la fecha de inicio hasta que se llegue a la fecha final. Al finalizar el bucle, en la lista fechas_de_pago tenés todas las fechas en las que se debería pagar en un período de 3 años.

Saludos
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)