Python实现动态输出任意年份各月首日日期的函数方法
函数改造方案
原函数依赖Python标准库calendar、datetime实现单月全日期输出,针对新需求可按以下逻辑改造:
- 函数入参调整为仅接收年份参数,移除原有的月份入参
- 循环逻辑从遍历单月日期,改为遍历1-12月的月份序号
- 无需计算每月总天数,直接固定构造每月1日的日期对象
- 格式化输出为
YYYY-MM-DD格式字符串,避免默认datetime对象打印时附带冗余的时分秒信息
改造后的完整可运行代码如下:
from datetime import datetime def func(y): for m in range(1, 13): month_first_day = datetime(y, m, 1) print(month_first_day.strftime("%Y-%m-%d")) # 调用示例:输出2021年所有月份首日 func(2021)
运行上述调用示例,输出结果如下,完全匹配需求格式:
2021-01-01 2021-02-01 2021-03-01 2021-04-01 2021-05-01 2021-06-01 2021-07-01 2021-08-01 2021-09-01 2021-10-01 2021-11-01 2021-12-01
该实现天然兼容任意合法年份,平年、闰年场景下datetime会自动处理日期合法性,无需额外做判断逻辑。
内容的提问来源于stack exchange,提问作者Coder
相关产品推荐
相关产品推荐

