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

如何使用Python添加月份缩写并生成动态字符串

Python生成含月份缩写的动态续期范围字符串

核心思路

用Python内置的datetime处理日期计算,calendar模块获取标准英文月份缩写,通过目标月份推导前后相邻月份的日期,最终拼接成需求格式的字符串。同时兼容跨年场景(比如1月的前一个月是去年12月),保证逻辑通用性。

实现代码

import datetime
import calendar

def generate_renewal_range_str(target_year, target_month):
    # 构建目标月份的第一天日期
    target_date = datetime.date(target_year, target_month, 1)
    
    # 计算前一个月份:目标日期减1天,再取当月第一天
    prev_month_date = (target_date - datetime.timedelta(days=1)).replace(day=1)
    # 计算后一个月份:目标日期加32天(覆盖所有月份天数),再取当月第一天
    next_month_date = (target_date + datetime.timedelta(days=32)).replace(day=1)
    
    # 获取月份英文缩写(calendar.month_abbr索引从1开始对应1月)
    prev_month_abbr = calendar.month_abbr[prev_month_date.month]
    next_month_abbr = calendar.month_abbr[next_month_date.month]
    
    # 拼接范围字符串,处理跨年情况
    if prev_month_date.year == target_year and next_month_date.year == target_year:
        range_segment = f"{prev_month_abbr} 至 {next_month_abbr} {target_year}"
    else:
        range_segment = f"{prev_month_abbr} {prev_month_date.year} 至 {next_month_abbr} {next_month_date.year}"
    
    return f"待续期的支付链接,涉及月份范围为 {range_segment}"

测试示例

# 测试2022年9月的场景
print(generate_renewal_range_str(2022, 9))
# 输出:待续期的支付链接,涉及月份范围为 Aug 至 Oct 2022

# 测试2022年10月的场景
print(generate_renewal_range_str(2022, 10))
# 输出:待续期的支付链接,涉及月份范围为 Sep 至 Nov 2022

# 测试跨年场景(2023年1月)
print(generate_renewal_range_str(2023, 1))
# 输出:待续期的支付链接,涉及月份范围为 Dec 2022 至 Feb 2023

扩展:自动获取当前/下一个月份的字符串

如果需要自动处理当前月份或下一个月份,可增加以下逻辑:

# 获取当前月份对应的字符串
current_date = datetime.date.today()
print(generate_renewal_range_str(current_date.year, current_date.month))

# 获取下一个月份对应的字符串
if current_date.month == 12:
    next_year = current_date.year + 1
    next_month = 1
else:
    next_year = current_date.year
    next_month = current_date.month + 1
print(generate_renewal_range_str(next_year, next_month))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 11:35:20