Как настроить скрипт на реагирование на изменение минуты в модуле datetime?

Как преобразовать дату в формате epoch в обычный формат времени и отслеживать каждую новую минуту, выполняя определенные действия в соответствии с этим временем?
  • 13 мая 2024 г. 10:00
Ответы на вопрос 2
Для того чтобы настроить скрипт на реагирование на изменение минуты в модуле `datetime`, можно использовать следующий код:

```python
import datetime

last_minute = None

while True:
    now = datetime.datetime.now()
    if now.minute != last_minute:
        last_minute = now.minute
        # Здесь можно добавить код для выполнения определенных действий
        print(f"Текущее время: {now}")
```

Чтобы преобразовать дату в формате epoch в обычный формат времени можно использовать метод `datetime.datetime.fromtimestamp()`:

```python
import datetime

epoch_time = 1634764800  # пример времени в формате epoch

normal_time = datetime.datetime.fromtimestamp(epoch_time)
print(normal_time)
```

Для отслеживания каждой новой минуты и выполнения определенных действий в соответствии с этим временем, можно перенести эту логику в условие в коде выше. Например:

```python
import datetime

last_minute = None

while True:
    now = datetime.datetime.now()
    if now.minute != last_minute:
        last_minute = now.minute
        # Добавляем действия, которые нужно выполнить на каждую новую минуту
        if now.minute == 0:
            print("Начало нового часа!")
        elif now.minute % 15 == 0:
            print("Прошло 15 минут!")
        print(f"Текущее время: {now}")
```

Этот код будет выполнять определенные действия на каждую новую минуту, начиная с нулевой минуты, а также выводить текущее время.
Если именно через datetime, то как-то так 
from datetime import datetime
import time

ts_epoch = ... // откуда-то полученное значение
last_minute = datetime.fromtimestamp(ts_epoch).minute

while True:
  current_minute = datetime.now().minute
  if current_minute != last_minute:
    print("Ок, что-то делаем")
    last_minute = current_minute
  time.sleep(1)


Вероятно лучше использовать schedule , чтобы не городить вокруг велосипеды.
Похожие вопросы