我有一个返回日期时间对象的脚本,如下所示:
rec = record[14] #index 14 is a straight datetime object
rec2 = rec.time() #sends time part to rec2
我现在要做的就是将rec2转换为整数类型的秒。任何有关如何做到这一点的见解将不胜感激。
答案 0 :(得分:1)
答案 1 :(得分:1)
我已经解决了#34;通过采用类似question的代码,这个难题更早,尽管我真的希望有更直接的方法。我带着@Nolen皇族"厚脸皮"一个衬里并将其包装在int()函数中。实质上:
rec = record[14] #stores index 14 of a list to rec which is a full datetime object
rec2 = rec.time() #stores time portion of that datetime object to rec2
rec3 = rec2.strftime('%H:%M:%S') #uses strftime to convert to string
s = int(sum(int(i) * 60**index for index, i in enumerate(rec3.split(":")[::-1]))) #converts that string to integer
令人震惊,但它确实有效......但是,如果有人有更好的东西,我会非常感兴趣。
答案 2 :(得分:0)
The question "Python Time conversion h:m:s to seconds" (that you've linked)显示了一个简单有效的单行解决方案,介绍了如何获得自午夜起适用于datetime.datetime
和datetime.time
类型的整数秒数:
from datetime import timedelta
secs = timedelta(hours=rec.hour, minutes=rec.minute, seconds=rec.second).seconds