从几分钟创建一个时间对象

时间:2014-10-14 18:38:49

标签: python

我正在尝试创建一个时间对象来保存到我的数据库。以下是我到目前为止的情况:

>>> 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分钟的时间对象?

1 个答案:

答案 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)