如何计算两个季度格式日期之间的季度数量(返回整数)
计算两个季度日期之间的季度数量
核心思路
把每个季度日期转换为「累计季度数」(年份 × 4 + 季度序号),两个累计值的差值绝对值就是两个日期之间的季度数量。
原生Python实现
无需依赖第三方库,直接拆分字符串计算:
def get_quarter_diff(date_a, date_b): # 拆分年份和季度 year_a, q_a = date_a.split('Q') year_b, q_b = date_b.split('Q') # 转换为整数并计算累计季度数 total_a = int(year_a) * 4 + int(q_a) total_b = int(year_b) * 4 + int(q_b) # 返回绝对值差 return abs(total_b - total_a) # 测试示例 date1 = '2020Q1' date2 = '2022Q4' print(get_quarter_diff(date1, date2)) # 输出:11
用Pandas简化实现
如果项目已使用Pandas,用Period类可以更简洁处理季度日期:
import pandas as pd date1 = '2020Q1' date2 = '2022Q4' # 转换为季度周期对象 period1 = pd.Period(date1, freq='Q') period2 = pd.Period(date2, freq='Q') # 计算差值并获取季度数 diff = abs(period2 - period1) print(diff.n) # 输出:11
结果说明
示例中2020Q1到2022Q4之间的季度数量为11——从2020Q2到2022Q4正好是11个完整季度。
内容的提问来源于stack exchange,提问作者Bogaso
相关产品推荐
相关产品推荐

