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

如何在Raspberry Pi Pico上用MicroPython计算两个时间的差值?

解决Raspberry Pi Pico MicroPython计算时间差的问题

MicroPython针对Raspberry Pi Pico的固件里没有完整的datetime模块,strptime这类方法更是不存在,所以你之前的代码会报"no module named datetime"错误。

针对你已经有"00:00:00"格式的时分秒字符串的情况,可以手动解析成总秒数来计算时间差,完全不需要额外模块,代码示例如下:

def time_str_to_seconds(time_str):
    # 将"HH:MM:SS"格式的字符串转换为总秒数
    hh, mm, ss = map(int, time_str.split(':'))
    return hh * 3600 + mm * 60 + ss

def elapsed_time(start, end):
    start_sec = time_str_to_seconds(start)
    end_sec = time_str_to_seconds(end)
    
    # 处理跨天情况(比如结束时间比开始时间小,说明过了一天)
    diff_sec = end_sec - start_sec
    if diff_sec < 0:
        diff_sec += 86400  # 一天的总秒数
    
    # 可选:将秒数差值转回"HH:MM:SS"格式
    hours = diff_sec // 3600
    minutes = (diff_sec % 3600) // 60
    seconds = diff_sec % 60
    return f"{hours:02d}:{minutes:02d}:{seconds:02d}"

如果你的应用场景不会出现跨天的情况,可以直接去掉跨天判断的代码,简化逻辑。

另外,MicroPython提供了轻量的utime模块,如果你后续需要更基础的时间处理(比如获取系统时间元组),可以直接使用这个模块,但针对你当前的需求,手动解析字符串转秒数的方法最直接高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 10:54:36