我试图根据python形式导入实际时间数据,这些数据实际上不是时间,日期或日期时间。它是Dd HH:MM:SS.m的时间格式,其中第一个时间点是0d 00:00:00.00,26小时后的点将是1d 02:00:00.00。
有没有办法使用datetime模块提取适当的时间信息,而无需对当天的字符串搜索进行硬编码,并在小时计数器中添加24的倍数?
要将“奇怪”格式转换为datetime.timedelta
对象,请尝试:
from datetime import timedelta
import re
input = '1d 02:00:00.00'
def to_timedelta(input):
reg = re.search('([0-9])+d ([0-9]){2}:([0-9]){2}:([0-9]){2}\.([0-9]){2}', input)
ints = tuple(int(t) for t in reg.groups())
return timedelta(days=ints[0],
hours=ints[1],
minutes=ints[2],
seconds=ints[3],
milliseconds=ints[4])
td = to_timedelta(input)
print(td)