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

Python中如何将时间格式从MM/DD/YYYY转换为M/D/YYYY并解决格式报错

问题出现原因

有两个错误共同导致了报错:

  • 输入的时间格式是MM/DD/YYYY,用斜杠分隔,但你strptime方法里写的解析格式是"%m-%d-%Y",用横杠分隔,格式不匹配无法正确解析时间字符串。
  • strftime里的%-m、%-d属于平台相关的格式符,仅在Linux、macOS系统下生效,Windows系统的Python标准库不支持该格式,会直接抛出Invalid format string错误。
解决方法

推荐使用全平台兼容的方案,不要依赖平台特定的格式符:

  1. 首先修正strptime的解析格式为"%m/%d/%Y",匹配输入的斜杠分隔格式
  2. 直接调用datetime对象的month、day、year整数属性拼接结果,整数转字符串自然不会携带前导零,无需依赖特殊格式符。

正确代码示例:

from datetime import datetime

# 示例输入时间
time_data_in_MM_DD_YYYY = "03/05/2024"
# 先解析时间
dt = datetime.strptime(time_data_in_MM_DD_YYYY, "%m/%d/%Y")
# 拼接得到M/D/YYYY格式结果
time_data_in_M_D_YYYY = f"{dt.month}/{dt.day}/{dt.year}"
print(time_data_in_M_D_YYYY) # 输出 3/5/2024

如果你确实需要使用strftime实现,可根据运行平台选择对应格式符:

  • Linux/macOS:strftime("%-m/%-d/%Y")
  • Windows:strftime("%#m/%#d/%Y")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 00:06:04