Вопрос связанный с датой
Пользователь берет кредит под ставку 5% в час. И естественно каждый час он будет должен на 5% больше. Когда кредит взят мы должны записать дату и время, а потом когда пользователь захочет оплатить кредит мы сравниваем дату и время которое сейчас и что было на момент взятия. Так вот как это сделать на Python?
Ответы (1 шт):
Получить текущую дату и время можно с помощью модуля 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