обратный отсчёт на python

Рейтинг: 0Ответов: 2Опубликовано: 17.02.2023

мне нужен "большой" таймер, чтобы один раз написать в коде, через сколько секунд должно сработать действие. допустим, я сконвертил большой промежуток во времени и вставил в таймер. и он будет напоминать сколько осталось в секундах даже после того, как я перезайду в программу. он должен мне показывать остаток в секундах и обновляться каждую секунду(просто писать остаток в консоли каждую секунду).

(этот промежуток чуть больше 1 года!)

я знаю что можно для таких случаев использовать модуль time, но не понимаю как.

это возможно?

Ответы

▲ 0Принят

Да вообще легко через питон)

import time

# установка таймера на 1 год (365 дней)
duration = 365 * 24 * 60 * 60  # в секундах

# время старта таймера
start_time = time.time()

while True:
    # вычисляем сколько секунд осталось до окончания таймера
    remaining_time = duration - (time.time() - start_time)

    # выводим оставшееся время в консоль
    print(f"Осталось {remaining_time} секунд.")

    # ждем одну секунду
    time.sleep(1)

    # если время вышло, то выходим из бесконечного цикла
    if remaining_time <= 0:
        break

print("Таймер завершен.")

тут таймер ровно на 365 дней, если нужно большее кол-во дней, то увеличь

▲ 0

А еще можно сделать так:

import datetime
import time

# Установка времени таймера на 1 год от текущего времени
target_time = datetime.datetime.now() + datetime.timedelta(days=365)

# Цикл для отображения оставшегося времени каждую секунду
while True:
    # Разница между текущим временем и временем таймера
    remaining_time = target_time - datetime.datetime.now()

    # Если время вышло, выходим из цикла
    if remaining_time.total_seconds() <= 0:
        print("Время вышло!")
        break

    # Вывод оставшегося времени в секундах
    print("\rОсталось {} секунд".format(int(remaining_time.total_seconds())), end="")

    # Пауза на 1 секунду
    time.sleep(1)