(完全にテストされていないが、あなたのアイデアを得る)、これを試してみてください:
from datetime import date, timedelta, datetime, time
def roundTime(dt=None, dateDelta=timedelta(minutes=15)):
"""Round a datetime object to a multiple of a timedelta
dt : datetime.datetime object, default now.
dateDelta : timedelta object, we round to a multiple of this, default 1 minute.
Author: Thierry Husson 2012 - Use it as you want but don't blame me.
Stijn Nevens 2014 - Changed to use only datetime objects as variables
"""
roundTo = dateDelta.total_seconds()
if dt == None : dt = datetime.now()
seconds = (dt - dt.min).seconds
# // is a floor division, not a comment on following line:
rounding = (seconds+roundTo/2) // roundTo * roundTo
return dt + timedelta(0,rounding-seconds,-dt.microsecond)
time_input = 735.0
dt = datetime.strptime(str(int(time_input)).zfill(4), "%H%M")
print(roundTime(dt,timedelta(minutes=15)).strftime('%H:%M'))
round_timeのfuncがある
How to round the minute of a datetime object python
乾杯から山車を何
?分数?秒? –
浮動小数点からタイムスタンプへのロジックを説明し、いくつかのケースを示すのに十分な例を与える必要があります。あなたが示す2つの例では十分ではありません。 –
私の謝罪!あなたは私がプログラミングやこのコミュニティで新しいことを伝えることができます。うまくいけば、私の編集は私の質問を明確にすることができます。 –