You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将时分秒毫秒格式的时间字符串转换为毫秒数?

解决时分秒-微秒字符串转毫秒的问题

报错原因

你使用的格式串%H:%M:%S仅匹配到秒级内容,没有覆盖字符串末尾的.750000微秒部分,因此触发ValueError。

两种可行解决方案

方案一:修正datetime格式串,计算时间差

通过%H:%M:%S.%f匹配完整的时间字符串,再计算该时间与当日零点的时间差,最终转换为毫秒:

from datetime import datetime

time_str = "00:00:12.750000"
# 用%f匹配微秒部分
dt_obj = datetime.strptime(time_str, '%H:%M:%S.%f')
# 计算与当日0点的时间差并转毫秒
time_diff = dt_obj - datetime(dt_obj.year, dt_obj.month, dt_obj.day)
total_millisec = time_diff.total_seconds() * 1000
print(int(total_millisec))  # 输出12750

方案二:直接拆分字符串计算

如果不需要datetime对象的其他功能,直接拆分字符串计算更高效:

time_str = "00:00:12.750000"
# 拆分秒和微秒部分
hms_part, us_part = time_str.split('.')
# 拆分时、分、秒
hours, minutes, seconds = map(int, hms_part.split(':'))
# 微秒转毫秒(取前三位,750000微秒=750毫秒)
milliseconds = int(us_part[:3])

total_millisec = hours * 3600 * 1000 + minutes * 60 * 1000 + seconds * 1000 + milliseconds
print(total_millisec)  # 输出12750

补充说明

  • 方案一适合需要后续对时间做更多操作的场景,比如时区转换、日期运算;
  • 方案二更轻量,适合仅需转换毫秒的简单需求。

内容的提问来源于stack exchange,提问作者user3668129

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 08:10:03