albertc has asked for the wisdom of the Perl Monks concerning the following question:

I have up & down datetime data for devices, I need a function that will provide the downtime within the primetime period. Input will be d_time, u_time, stime (starting time for Primetime, 08:00:00), etime (endtime for PrimeTime, 18:59:59). The function also needs to remove downtime that occured on a public holiday and over weekends! Public holidays will be read from mysql table with Datetime record of each public holiday. Hope you can help!