【问题标题】:How to get 1st business date of year in python?如何在python中获得一年中的第一个营业日期?
【发布时间】:2020-06-23 12:58:31
【问题描述】:

如何确定一年中的第一个营业日期?我正在尝试使用

`Import holidays
 HOLIDAYS= holidays.US()`

【问题讨论】:

标签: python


【解决方案1】:

我会首先使用this existing StackOverflow 答案来获取一年中的第一个星期一,然后使用假期模块按holidays 过滤。

import datetime

import holidays

us_holidays = holidays.UnitedStates()


def next_workday(start_date, weekday=0):
    """
    Weekday is an integer. 0=Monday, 1=Tuesday, etc.
    """
    start_date -= datetime.timedelta(days=1)  # Go back 1 to be inclusive of the start date itself

    days_ahead = weekday - start_date.weekday()
    if days_ahead <= 0:  # Target day already happened this week
        days_ahead += 7

    start_date = start_date + datetime.timedelta(days_ahead)

    while 1:
        if start_date in us_holidays:
            start_date += datetime.timedelta(1)
        else:
            return start_date


for i in range(100):
    year = 2000 + i
    print(f'First workday of {year} is', next_workday(datetime.date(year, 1, 1)))

【讨论】:

    猜你喜欢
    • 2016-11-23
    • 1970-01-01
    • 1970-01-01
    • 2013-01-09
    • 2015-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-07
    相关资源
    最近更新 更多