【发布时间】:2019-12-12 23:51:34
【问题描述】:
我正在尝试编写一个基本脚本,该脚本可以将时间戳作为字符串读取并将其转换为毫秒。我正在使用的时间戳采用分钟:秒.毫秒格式。
from datetime import datetime
timestamp_start = '54:12.123'
MSM = '%M:%S.%f'
zero = '00:00.000'
start_sec = (datetime.strptime(timestamp_start, MSM) - datetime.strptime(zero, MSM)).total_seconds()
start_ms = start_sec * 1000
print(start_ms)
这可能是一个回合的方法,但我首先使用 datetime.strptime 得到一个 datetime 对象,然后减去 0 以获得一个 timedelta 对象,得到 timedelta 对象的总秒数,最后乘以1000 转换为毫秒。
上面的代码工作正常,除了超过一个小时的时间戳。
我遇到的问题 - 时间戳没有小时计数器。例如:1 小时、5 分钟和 30 秒以 65:30.000 的形式出现。 datetime.strptime 无法识别这种格式,因为它只允许分钟在 0 到 59 之间。
如何将这些时间戳转换为日期时间可识别的格式?我应该首先将时间戳转换为小时:分钟:秒:毫秒格式吗?请记住,最终目标是将这些时间戳转换为毫秒。如果有更好的方法,欢迎提出任何建议!
【问题讨论】:
标签: python-3.x datetime python-datetime