Convert datetime.time to seconds
本问题已经有最佳答案,请猛点这里访问。
我有一个
您可以自己计算:
1 2 3 4 | from datetime import datetime t = datetime.now().time() seconds = (t.hour * 60 + t.minute) * 60 + t.second |
您需要将您的
它将返回一个
1 2 3 4 5 6 7 | >>> from datetime import datetime, date, time, timedelta >>> timeobj = time(12, 45) >>> t = datetime.combine(date.min, timeobj) - datetime.min >>> isinstance(t, timedelta) # True >>> t.total_seconds() 45900.0 |
号
我灵感来源于以下链接:
- 关于datetime.combine的问题
- 所以关于将
datetime.time 转换为datetime.timedelta 的问题
如果您的对象应该代表一个持续时间,那么您应该使用
datetime.time对象用于表示一天中的某个时间。
datetime.timedelta对象是用来表示持续时间的,并且有一个
正如@owl max所提议的,拥有时间整数表示的最简单方法是使用时间增量。尽管如此,我还是想分享一种不同的方法来构建TimeDelta。
我喜欢使用的一个有用的一行程序是:
1 2 3 | import datetime t = datetime.time(10, 0, 5) int(datetime.timedelta(hours=t.hour, minutes=t.minute, seconds=t.second).total_seconds()) |
(注:通常这是一个评论)