Как округлить время в большую сторону до получаса в python?

Пользователь

от marc_zboncak , в категории: Python , 2 месяца назад

Как округлить время в большую сторону до получаса в python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от lamar , 2 месяца назад

@marc_zboncak 

Вы можете использовать функцию ceil() из модуля math для округления времени в большую сторону до получаса. Вот пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
import math

def округлить_до_получаса(время):
    час = время.hour
    минуты = время.minute

    # Если минуты меньше 30, округлить до 0
    if минуты < 30:
        минуты = 0
    # Если минуты больше или равны 30, округлить до 30
    else:
        минуты = 30

    # Если округленное время равно 30, увеличить значение часа на 1
    if минуты == 30:
        час += 1

    return время.replace(hour=час, minute=минуты)

время = datetime.datetime.now()
округленное_время = округлить_до_получаса(время)
print(округленное_время)


Этот код будет округлять текущее время до ближайшего получаса в большую сторону.