Время до полного счетчика с процентами python

как рассчитать на основе временной метки и получить прогресс до максимального полного значения?

def full_energy():
     time_now = 1666650096 #changes every update
     time_end = 1666679529 
     max_energy = 50 

     diff = datetime.utcfromtimestamp(time_now) - datetime.utcfromtimestamp(time_end)
     secs = diff.total_seconds()
     ???

# expected output
# x/y (z)
# 25/50 (50%)

как получить значение x и z на основе этого образца?

Сработает что-то вроде этого. Вам нужно указать время начала для вычисления процента выполнения. Не совсем понятно, как вы хотите, чтобы функционировал дисплей:

from datetime import datetime, timedelta
import time

def full_energy(start, now, end):
    max_energy = 50
    percent = (now - start) / (end - start)
    current_energy = max_energy * percent
    # In a typical text console this will overwrite the same line
    print(f'\r{current_energy:.0f}/{max_energy} ({percent:.0%})', end='', flush=True)

start = datetime.now()
end = start + timedelta(seconds=10)

while (now := datetime.now()) <= end:
    time.sleep(.2)
    full_energy(start, now, end)
Вернуться на верх