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

Python月份数字转月份名报int无strftime属性错误如何修复

错误原因

触发报错的核心是类型不匹配:

  • datetime.now().month 返回值是整数类型(例如10月返回整数值10),仅代表月份的数字编号,不是完整的日期对象
  • strftime() 是datetime日期对象的内置方法,整数对象不存在该属性,因此抛出属性错误。
修复方案

根据使用场景二选一即可:

方案1:直接对日期对象做格式化(代码最简洁)

不需要提前提取.month属性,直接在datetime.now()生成的日期实例上调用格式化方法:

from datetime import datetime

# 格式化符%B对应完整月份名称
month_name = datetime.now().strftime("%B")

方法返回值直接为目标月份名称:英文环境下返回如October,已配置中文本地化的环境会返回十月。

方案2:整数月份值转名称(适配已拿到月份数字的场景)

如果代码逻辑中已经拿到了整数格式的月份编号,可以用标准库calendar内置的月份名称序列做映射转换:

import calendar
from datetime import datetime

month_num = datetime.now().month  # 得到整数类型的月份编号
month_name = calendar.month_name[month_num]

注意calendar.month_name的索引从1开始对应1月,和月份数字的1-12取值范围完全匹配,不需要额外做索引偏移计算。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 01:09:20