我正在尝试创建一个时间对象来保存到我的数据库。以下是我到目前为止的情况:
>>> minutes=137
>>> import datetime
>>> datetime.time(minute=minutes)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: minute must be in 0..59
如何创建超过59分钟的时间对象?
答案 0 :(得分:5)
datetime.time()
个对象模拟时间,而不是持续时间。除非您希望将137分钟解释为<午夜后的137分钟,否则您不应使用datetime.time()
个对象。
使用datetime.timedelta()
持续时间:
>>> import datetime
>>> minutes = 137
>>> datetime.timedelta(minutes=minutes)
datetime.timedelta(0, 8220)
timedelta
对象跟踪以天和秒为单位的持续时间。
如果 意味着时间被解释为凌晨2:17,那么您需要计算小时数和余数:
>>> hour, minute = divmod(minutes, 60)
>>> datetime.time(hour, minute)
datetime.time(2, 17)