Python将时间舍入到5分钟

Python将时间舍入到5分钟,python,datetime,time,rounding,Python,Datetime,Time,Rounding,我需要写一个函数,可以把时间四舍五入到5分钟。我的意思是,如果是17:01到17:00,如果是16:59到16:55,如果是16:51到16:50,等等 任何人都可以帮我吗?如果您将时间存储为字符串,即hh:mm,问题就变得非常简单。 我们只需要更改最后一个字符。 实施: def convertStr(s): x = s[-1] if(int(x)<5): return s[:-1] + '0' else: return s[:-1] + '5' def

我需要写一个函数,可以把时间四舍五入到5分钟。我的意思是,如果是17:01到17:00,如果是16:59到16:55,如果是16:51到16:50,等等


任何人都可以帮我吗?

如果您将时间存储为字符串,即
hh:mm
,问题就变得非常简单。
我们只需要更改最后一个字符。
实施:

def convertStr(s):
  x = s[-1]
  if(int(x)<5):
     return s[:-1] + '0'
  else:
     return s[:-1] + '5'

def convertStr:
x=s[-1]

如果(int(x)我在评论中链接的问题,应用于您的问题可能如下

from datetime import datetime

l = [datetime.strptime('16:59', "%H:%M").time(), datetime.strptime('17:01', "%H:%M").time()]
# [datetime.time(16, 59), datetime.time(17, 1)]

l_rounded = [d.replace(minute=d.minute-d.minute%5) for d in l]
# [datetime.time(16, 55), datetime.time(17, 0)]

时间存储在什么类型的变量中?如果您也发布代码,这会很有帮助。这是否回答了您的问题?