如何将整数格式的datetime转换为当日零点起的毫秒数
整数格式时间转当日毫秒数
转换逻辑
输入的整数是按 HHmmssSSS 格式拼接的(2位小时、2位分钟、2位秒、3位毫秒,不足位数补0),转换时拆分出时、分、秒、毫秒四个部分,分别换算成毫秒后求和即可:
- 小时转毫秒:
小时数 * 3600 * 1000 - 分钟转毫秒:
分钟数 * 60 * 1000 - 秒转毫秒:
秒数 * 1000 - 加上剩余的毫秒数
示例验证
以题目中的133253600为例:
- 拆分得到:小时13、分钟32、秒53、毫秒600
- 分步计算总和:
- 13×3600×1000 = 46800000
- 32×60×1000 = 1920000
- 53×1000 = 53000
- 最终总和:46800000 + 1920000 + 53000 + 600 = 48773600,与示例结果一致
代码实现(Python)
def time_int_to_milliseconds(time_int): # 转为9位字符串,不足补前导0 time_str = f"{time_int:09d}" # 拆分各时间部分 hours = int(time_str[:2]) minutes = int(time_str[2:4]) seconds = int(time_str[4:6]) milliseconds = int(time_str[6:9]) # 计算总毫秒数 return hours * 3600 * 1000 + minutes * 60 * 1000 + seconds * 1000 + milliseconds # 测试示例 print(time_int_to_milliseconds(133253600)) # 输出 48773600
注意事项
- 若输入整数不足9位(如
123456对应00:01:23:456),需补前导0到9位,避免拆分错误 - 输入需符合时间逻辑(小时0-23、分钟0-59等),否则计算结果无实际意义
内容的提问来源于stack exchange,提问作者royal grasshopper
相关产品推荐
相关产品推荐

