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

Python中如何固定日期日为16,月份和年份取当前值?

生成指定日的日期对象解决方案

你可以直接使用date()或datetime()构造函数,传入指定的年、月、日参数来生成目标日期对象,完全不需要通过字符串拼接或除法操作来实现。

核心实现代码

from datetime import date, datetime

day = 16
current_year = datetime.now().year
current_month = datetime.now().month
# 直接构造目标日期对象
target_date = date(year=current_year, month=current_month, day=day)

print(target_date)

扩展:生成近6个月的16日日期

如果需要复用你之前的代码逻辑,生成当前月及过去5个月的16日日期,可以这样写:

from datetime import date, datetime
from dateutil.relativedelta import relativedelta

today = date.today()
# 生成当前月及往前推5个月的16日日期列表
target_dates = [
    date(year=(today - relativedelta(months=i)).year, 
         month=(today - relativedelta(months=i)).month, 
         day=16) 
    for i in range(6)
]

# 按你的变量名输出
for idx, dt in enumerate(target_dates):
    print(f"c{idx}: {dt}")

注意:由于16日是所有月份都存在的日期,所以不会出现日期不存在的ValueError,如果后续要设置更大的日期(比如31日),则需要额外处理小月的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 22:38:10