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

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 22:00:10