округлить минуты до ближайшего числа в (00,15,30,45) в python - PullRequest
0 голосов
/ 20 февраля 2020
from datetime import datetime, timedelta, date
from pytz import timezone
def select_scheduled_time():
 tz = timezone('UTC')
 Time_Now = datetime.now(tz)
 minutes = Time_Now.strftime("%M")
 print("Current Time =", minutes)
 print(Time_Now)
 if minutes not in ('00', '15', '30', '45'):
    mint = int(minutes)
    if (mint > 00 and mint < 15):
        mint = 15
    elif (mint > 15 and mint < 30):
        mint = 30
    elif (mint > 30 and mint < 45):
        mint = 45
    else:
        mint = 00

Хочу найти логичный ответ на это, чтобы я мог избежать высказываний. если время 9:10, то оно должно быть округлено до 9:15. Если время 10:01, то также должно быть 10:15. Спасибо

Ответы [ 2 ]

1 голос
/ 20 февраля 2020

Вы можете использовать math.ceil на деление 15 минут:

import math
mint = math.ceil(mint / 15) * 15
0 голосов
/ 20 февраля 2020

Это, вероятно, то, что вы хотите:

(math.ceil(mint / 15) * 15) % 60

Вам нужно будет обработать случаи, когда вы округляетесь до следующего часа.

...