diff --git a/pandas/tseries/holiday.py b/pandas/tseries/holiday.py index c95b9e96b1d44..2d195fbbc4e84 100644 --- a/pandas/tseries/holiday.py +++ b/pandas/tseries/holiday.py @@ -116,8 +116,9 @@ def next_workday(dt: datetime) -> datetime: returns next workday used for observances """ dt += timedelta(days=1) - # Mon-Fri are 0-4 - dt += timedelta(days=max(dt.weekday() - 4, 0)) + while dt.weekday() > 4: + # Mon-Fri are 0-4 + dt += timedelta(days=1) return dt @@ -126,8 +127,9 @@ def previous_workday(dt: datetime) -> datetime: returns previous workday used for observances """ dt -= timedelta(days=1) - # Mon-Fri are 0-4 - dt -= timedelta(days=max(dt.weekday() - 4, 0)) + while dt.weekday() > 4: + # Mon-Fri are 0-4 + dt -= timedelta(days=1) return dt