我需要将一个整数转换为datetime.time实例。我得到的时间是经过的秒数,因此可能大于59。
我知道可以使用以下方式创建time对象:
import datetime
def to_time(seconds):
hours = seconds / 3600
mins = (seconds%3600)/60
sec = (seconds%3600)%60
return datetime.time(hours,mins,sec)
如果我有一系列需要转换的时间值,可以将此交给映射函数处理。但我认为这很丑陋。有没有更好的方法呢?
事实上,问题还要更加复杂。我得到一个浮点型的时间值,其中 datetime.date.fromordinal(int(time))
返回日期,to_time(time - int(time)*86400)
将返回时间。然后我可以将它们组合成我的datetime
对象。所以输入的示例可能是734869.00138889,应该得到2013-01-01 00:02。
我肯定希望有一个更简洁的方法。
time
的实际值吗? - Martijn Pieters