Programming Kata – D-1 Processing

I've encountered this problem in a previous job and thought it can be interesting for practice.

Description

Create a program or function the receives a Date (or gets the current one) and prints/returns a time range dependent on which week-day. The range should begin at the start of the previous work-day and end at the beginning of the received date (not inclusive), is such that:

Week-day Result
Sunday null/empty/[]
Monday [Previous Friday 00:00 – Previous Sunday 24:00)
Tuesday [Previous Monday 00:00 – 24:00)
Wednesday [Previous Tuesday 00:00 – 24:00)
Thursday [Previous Wednesday 00:00 – 24:00)
Friday [Previous Thursday 00:00 – 24:00)
Saturday null/empty/[]

(The [) represents a closed-open interval)

Extension

Connect to a database or service to retrieve a list of holidays, and treat them the same as weekend days.