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

如何用Pandas从历史起始日期获取指定月份的双周发薪日范围

提取指定月份的每两周发薪日

你可以先生成覆盖目标月份的完整发薪日序列,再通过年份+月份过滤精准提取目标月份的记录,解决原代码包含历史日期的问题。以下是具体实现:

实现步骤

  • 定义起始发薪日、目标年月参数
  • 生成从起始日到目标月份结束后两周的日期序列(确保覆盖目标月份所有可能的发薪日)
  • 筛选出年份和月份与目标匹配的日期

代码示例

import pandas as pd
from dateutil.relativedelta import relativedelta

# 配置参数
starting_date = pd.to_datetime("1/6/2023")
target_year, target_month = 2023, 3

# 生成足够覆盖目标月份的发薪日序列:避免漏掉月末的发薪日
end_date = pd.to_datetime(f"{target_year}-{target_month}-01") + relativedelta(months=1) + relativedelta(days=14)
all_pay_dates = pd.date_range(start=starting_date, end=end_date, freq='14D')

# 筛选目标月份的发薪日
target_pay_dates = all_pay_dates[(all_pay_dates.year == target_year) & (all_pay_dates.month == target_month)]

# 格式化输出为示例格式
print(target_pay_dates.strftime("%m/%d/%Y").tolist())

代码说明

  • 把end_date设为目标月份下一月初再加14天,确保不会遗漏像3/31/2023这类月末的发薪日
  • 通过year和month的双重条件过滤,精准提取目标月份的记录
  • 运行后输出结果为:['03/03/2023', '03/17/2023', '03/31/2023'],与示例完全匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 14:50:12