So I am defining midnight as 12am on a specific day. Not 12am the next day. (Only because that's how it was defined in the previous comments for this function). So midnight is basically the first possible time for any given day.