How to find freetime slots during working hours of 8 to 17hrs given an array of busytime slots in a day using php

Given this array

[
        {
          "date": "2015-01-01",
          "starttime": "2015-01-01 07:30",
          "endtime": "2015-01-01 08:30"
        },
        {
          "date": "2015-01-01",
          "starttime": "2015-01-01 11:00",
          "endtime": "2015-01-01 11:30"
        },
        {
          "date": "2015-01-01",
          "starttime": "2015-01-01 14:00",
          "endtime": "2015-01-01 15:00"
        },
        {
          "date": "2015-01-03",
          "starttime": "2015-01-03 08:30",
          "endtime": "2015-01-03 12:30"
        },
        {
          "date": "2015-01-03",
          "starttime": "2015-01-03 14:00",
          "endtime": "2015-01-03 15:00"
        },
        {
          "date": "2015-01-03",
          "starttime": "2015-01-03 15:30",
          "endtime": "2015-01-03 16:30"
        }
]

am trying to write a function to find freetime slots during working hours 8 – 17hrs

can anyone help with an algorithm please