Вопрос связанный с датой

Пользователь берет кредит под ставку 5% в час. И естественно каждый час он будет должен на 5% больше. Когда кредит взят мы должны записать дату и время, а потом когда пользователь захочет оплатить кредит мы сравниваем дату и время которое сейчас и что было на момент взятия. Так вот как это сделать на Python?


Ответы (1 шт):

Автор решения: nomnoms12

Получить текущую дату и время можно с помощью модуля datetime.

Даты можно вычитать друг из друга, при этом будет возвращён объект timedelta, который будет хранить разницу в секундах между датами. На основе разницы в секундах можно посчитать и разницу в часах (нацело поделив на 3600).

Повышение суммы долга на 5% каждый час — это геометрическая прогрессия. Вам необходимо найти n-ный член этой прогрессии.

Пример:

from datetime import datetime
from decimal import Decimal

# Support for fast correctly-rounded decimal floating point arithmetic
money = Decimal(100)
rate = Decimal('1.05')

start = datetime.now()
# 5 hours later...
end = datetime.now()

hours = Decimal((end - start).total_seconds()) // 3600
duty = money * rate**(hours)

print(duty)

stdout:

127.6281562500
→ Ссылка