Как округлить дату и время предыдущих 10 минут с помощью Python - PullRequest
0 голосов
/ 04 октября 2019

Я хочу, чтобы последние 10 минут в Python были полностью делимыми на 10.

Оно не должно округляться до следующих 10 минут, оно всегда должно быть за предыдущие 10 минут.

Например, выходные данные должны быть следующими:

2019-10-04 20: 45: 34.903000 -> 2019-10-04 20: 40

2019-10-0420: 48: 35.403000 -> 2019-10-04 20: 40

2019-10-04 20: 42: 21.903000 -> 2019-10-04 20: 40

2019-10-04 20: 50: 21.204000 -> 2019-10-04 20: 50

2019-10-04 20: 59: 49.602100 -> 2019-10-04 20: 50

import datetime

def timeround10(dt):
    #...


print timeround10(datetime.datetime.now())

Ответы [ 2 ]

3 голосов
/ 04 октября 2019

Самый простой способ - создать новый datetime с нужными значениями.

def timeround10(dt):
    return datetime.datetime(dt.year, dt.month, dt.day, dt.hour, (dt.minute // 10) * 10))
0 голосов
/ 04 октября 2019
def timeround10(dt):
    return dt.replace(second=dt.second // 10, microsecond=0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...