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

如何优化12小时制时间转24小时制的Python实现代码

12小时制转24小时制Python代码优化方案

原有代码虽然能跑通你给出的测试用例,但存在几处可优化的问题:

  • 12小时制的格式化符号用错:%H是24小时制小时标识,12小时制对应应该用%I,原有代码处理12点时段的AM/PM场景时会报错或输出错误结果
  • 不需要手动计算时间差值:datetime解析12小时制时间后本身就包含正确的24小时制时间信息,直接输出即可,逻辑更简洁
  • import语句放在函数内部:每次调用函数都会重复执行导入逻辑,移到函数外性能更优

优化后代码

import datetime as dt

def change_time(time_str: str) -> str:
    # %I对应12进制小时,%p匹配AM/PM标识
    FMT12 = '%I:%M:%S %p'
    FMT24 = '%H:%M:%S'
    return dt.datetime.strptime(time_str, FMT12).strftime(FMT24)

如果你需要和原有代码保持一致返回datetime.time类型而非字符串,只需将return语句修改为:

return dt.datetime.strptime(time_str, FMT12).time()

测试验证

所有场景均能正常输出正确结果:

  • 运行print(change_time('09:52:08 PM')) 输出 21:52:08,和原有测试结果一致
  • 边界场景测试:
    • change_time('12:00:00 AM') 输出 00:00:00
    • change_time('12:30:00 PM') 输出 12:30:00
    • change_time('11:59:59 AM') 输出 11:59:59

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 21:57:02