Только Python, если время 5 часов - PullRequest
0 голосов
/ 12 мая 2018

Я хочу запустить фрагмент кода, только если время находится между определенными минутами в часе, но я не могу понять, как получить номер часа в Python.

Эквивалентный код в PHP:

if (intval(date('i', time())) > 15 && intval(date('i', time())) < 32) {
    // any time from hour:16 to hour:33, inclusive
} else {
    // any time until hour:15 or from hour:32
}

В Python это будет примерно так:

import time
from datetime import date
if date.fromtimestamp(time.time()):
   run_my_code()
else:
   print('Not running my code')

Обычно я использую cron, но он работает внутри Lambda, и я хочу быть абсолютно уверенным, что этот кодНЕ запускается все время.

Ответы [ 3 ]

0 голосов
/ 12 мая 2018

Класс datetime имеет атрибуты, которые вы можете использовать. Вы заинтересованы в атрибуте minute .

Например:

from datetime import datetime

minute = datetime.now().minute

if minute > 15 and minute < 32:
    run_my_code()
else:
    print('Not running my code')
0 голосов
/ 08 июля 2019

Вот один вкладыш, который не загружает модуль datetime:

if 5 < int(time.strftime('%M')) < 15:

Приведенный выше код будет выполняться только через 5–15 минут после часа (по местному времени).

0 голосов
/ 12 мая 2018

Вот один из способов сделать это.

import datetime

# Get date time and convert to a string
time_now = datetime.datetime.now().strftime("%S")    
mins = int(time_now)

# run the if statement
if mins > 10 and mins < 50:
    print(mins, 'In Range')
else:
    print(mins, 'Out of Range')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...