我有以下时间:
time = datetime.timedelta(days=1, hours=4, minutes=5, seconds=33, milliseconds=623)
是否可以将时间转换为毫秒?
像这样:
101133623.0
我找到了解决问题的可能性
import datetime
time = datetime.timedelta(days=1, hours=4, minutes=5, seconds=33, milliseconds=623)
result = time.total_seconds()*1000
print(result)
这当然是可能的。
1 day + 4 hours + 5 minutes + 33 seconds + 623 milliseconds =
24 * 60 * 60 seconds + 4 * 60 * 60 seconds + 5 * 60 seconds + 33 seconds + 0.623 seconds =
86400 seconds + 14400 seconds + 300 seconds + 33 seconds + 0.623 seconds =
101133.623 seconds
只需使用乘法
功能如下:
def timestamp_to_milliseconds(timestamp):
day, hour, minute, second, millisecond = timestamp.split(":")
seconds = int(day) * 24 * 60 * 60 + int(hour) * 60 * 60 + int(minute) * 60 + int(second)
seconds += float(millisecond) / 1000
milliseconds = seconds * 1000
return milliseconds
根据 datetime 文档,将 timedelta 转换为毫秒的推荐方法是:
millis = td / timedelta(milliseconds=1)
我不确定与您分享的
total_seconds() * 1000
解决方案相比是否会产生不同的结果。