# How can I make Saturdays business days

I'm building my own HolidayCalendar.

I want some Saturdays to be business days.

But Mathematica considers every Saturday a holiday, even for my HolidayCalendar.

For instance,

DayRange[DateObject[{2020,1,1}], DateObject[{2020,1,31}], "BusinessDay",
HolidayCalendar -> { "Gregorian" -> {{True&, #==1&, #==1&}}}]


gives me no Saturdays and no Sundays, of course.

Is it possible to change this behavior?

There doesn't seem to be a straightforward way to just use DayRange[], so one has to use Select[] + Complement[] with DayRange[]:

With[{d0 = DateObject[{2020, 1, 1}], d1 = DateObject[{2020, 1, 31}]},
Select[Complement[DayRange[d0, d1],
DayRange[d0, d1, "Holiday",
HolidayCalendar ->
{"Gregorian" -> {{True &, # == 1 &, # == 1 &}}}]],
DayName[#] =!= Sunday &]]

• Thank you. Unfortunately, my question is how to change the default behavior of holidaycalendar. Actually, I want to use my own HolidayCalendar in many time series-related functions. Not just to get the list of business days. Mar 25, 2020 at 4:31
Clear["Global*"]


Assuming that you want six business day (Mon - Sat) per week

businessDays[start_DateObject, end_DateObject] :=
Sort[
Complement[
Flatten[
DayRange[start, end, #] & /@
{Monday, Tuesday, Wednesday, Thursday,
Friday, Saturday}],
DayRange[start, end, "Holiday",
HolidayCalendar -> {"UnitedStates", "Default"}]]]

`