将代表总分钟数的数字转换为python中的datetime对象

时间:2015-03-31 02:05:56

标签: python datetime

如果我有一个代表我感兴趣的句号的数字,例如代表360分钟或6小时的数字360,我该如何将其转换为日期时间对象,以便我可以在其上执行标准的日期时间对象功能?

同样,如果我有00:30:00格式的datetime对象,代表30分钟,我该如何将其转换为普通的整数变量?

3 个答案:

答案 0 :(得分:3)

import datetime

t = datetime.timedelta(minutes=360)

这将创建一个对象t,您可以将其与其他日期时间对象一起使用。

要回答您刚编辑的第二个问题,您可以使用t.total_seconds()将您的timedelta保留的任何内容返回到以秒为单位的整数。您必须手动转换为分钟或小时。

答案 1 :(得分:2)

您可能需要查看时间增量:

delta = datetime.timedelta(minutes=360)

答案 2 :(得分:0)

如果您的时间数据是'00:30:00'格式,那么您应该使用strptime

>>> from datetime import datetime
>>> time = '00:30:00'
>>> datetime.strptime(time, '%H:%M:%S).time()
datetime.time(0, 30)

如果您的数据是30(整数)格式

>>> from datetime import datetime, timedelta
>>> from time import strftime, gmtime
>>> minutes = timedelta(minutes=360)
>>> time = strftime('%H:%M:%S', gmtime(minutes.total_seconds()))
>>> datetime.strptime(time, '%H:%M:%S').time()
datetime.time(6, 0)