如何用Python生成相对于当前日期的N个未来季度列表?
生成未来N个季度列表的实现方法
核心逻辑
- 先根据当前日期算出当前所处季度,进而确定下一个季度的初始编号和年份
- 循环生成指定数量的季度,每生成一个后自动推进到下一个季度,年末自动跨年
- 按照
Qn-YY的格式输出每个季度
Python 实现代码
from datetime import datetime def get_future_quarters(n): quarters = [] now = datetime.now() # 计算当前季度(1-4) current_q = (now.month - 1) // 3 + 1 next_q = current_q + 1 year = now.year for _ in range(n): if next_q > 4: next_q = 1 year += 1 # 按格式生成季度字符串,年份取后两位 quarter_str = f"Q{next_q}-{str(year)[-2:]}" quarters.append(quarter_str) next_q += 1 return quarters # 示例:生成3个未来季度 print(get_future_quarters(3)) # 2024年9月运行时输出:['Q4-24', 'Q1-25', 'Q2-25']
代码说明
- 通过
(now.month - 1) // 3 + 1快速计算当前季度,比如9月对应第3季度 - 当
next_q超过4时,重置为1并将年份加1,实现跨年循环 - 用
str(year)[-2:]截取年份后两位,匹配Qn-YY的格式要求
内容的提问来源于stack exchange,提问作者JanisE
相关产品推荐
相关产品推荐

