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

运行strftime时报ValueError: Invalid format string错误的解决方法

错误产生原因

%P 属于GNU C库对strftime的扩展格式符,作用是输出小写的12小时制上午/下午标识(am/pm),该格式符不属于跨平台通用的C标准规范。Windows系统的MSVC运行库未实现该扩展,所有调用系统原生strftime实现的编程语言(包括Python、PHP、Ruby等)在Windows环境下使用%P时,都会抛出ValueError: Invalid format string格式无效错误。

对应的解决方案

  • 优先使用跨平台通用的标准格式符%p,该格式符会输出大写的AM/PM,如果需要小写效果,额外调用字符串转小写方法即可。以Python为例,修改后的代码为:
    string = strftime("%H:%M:%S %p").lower()
    
  • 跨平台开发场景下,避免使用%P这类平台专属的扩展格式符,所有非标准格式需求都通过字符串后处理实现,抹平不同系统的实现差异。
  • 如果仅在GNU/Linux、macOS环境部署,可以确认运行环境的C库支持%P扩展,无需修改代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 02:36:01