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

时间同步QWORD与DD:HH:MM:SS:ss格式时间互转技术问询

自定义时间格式与十六进制QWORD双向转换实现

问题说明

现有代码仅能将DD:HH:MM:SS:ms格式的时间字符串转为毫秒数,但无法保证输出固定9位数字;同时需要补充十六进制QWORD时间戳转时间格式的逻辑,完成双向转换。

完整实现代码

1. 时间字符串转固定9位毫秒数/十六进制QWORD

def time_str_to_ms(time_str):
    d, h, m, s, ms = time_str.split(':')
    total_ms = int(d) * 86400000 + int(h) * 3600000 + int(m) * 60000 + int(s) * 1000 + int(ms)
    # 格式化输出为固定9位,不足补前导零
    return f"{total_ms:09d}"

def time_str_to_hex_qword(time_str):
    total_ms = int(time_str_to_ms(time_str))
    # 转换为64位十六进制格式(QWORD),补前导零至16位
    return f"0x{total_ms:016X}"

2. 十六进制QWORD转时间字符串

def hex_qword_to_time_str(hex_str):
    # 兼容带/不带0x前缀的十六进制字符串
    total_ms = int(hex_str.strip('0x').strip('0X'), 16)
    # 拆分各时间分量
    days = total_ms // 86400000
    remaining = total_ms % 86400000
    hours = remaining // 3600000
    remaining %= 3600000
    minutes = remaining // 60000
    remaining %= 60000
    seconds = remaining // 1000
    ms = remaining % 1000
    # 格式化标准时间字符串,所有分量补前导零保证格式统一
    return f"{days:02d}:{hours:02d}:{minutes:02d}:{seconds:02d}:{ms:03d}"

3. 毫秒数字符串转时间字符串(双向转换补充)

def ms_str_to_time_str(ms_str):
    total_ms = int(ms_str)
    days = total_ms // 86400000
    remaining = total_ms % 86400000
    hours = remaining // 3600000
    remaining %= 3600000
    minutes = remaining // 60000
    remaining %= 60000
    seconds = remaining // 1000
    ms = remaining % 1000
    return f"{days:02d}:{hours:02d}:{minutes:02d}:{seconds:02d}:{ms:03d}"

测试示例

# 时间字符串转9位毫秒数
print(time_str_to_ms('12:8:23:45:100'))  # 输出: 1067025100
print(time_str_to_ms('0:0:0:0:50'))      # 输出: 000000050

# 时间字符串转十六进制QWORD
print(time_str_to_hex_qword('12:8:23:45:100'))  # 输出: 0x00000000404B6964

# 十六进制QWORD转时间字符串
print(hex_qword_to_time_str('0x00000000404B6964'))  # 输出: 12:08:23:45:100
print(hex_qword_to_time_str('404B6964'))            # 输出: 12:08:23:45:100

# 毫秒字符串转时间字符串
print(ms_str_to_time_str('000000050'))  # 输出: 00:00:00:00:050

关键细节

  • 固定9位毫秒数:通过f"{total_ms:09d}"自动补前导零,确保输出长度统一
  • 十六进制QWORD处理:保留16位十六进制字符,符合64位无符号整数的格式要求
  • 时间格式统一:所有时间分量(天、时、分、秒补两位,毫秒补三位)补前导零,保证输出格式一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 18:22:39