having been done 表示该动作发生在主句动作之前已经做完。多用在一些时间比较显性的句子中如:Having been cleaned ,the classroom is tidy now.另外就是having been done不能做定语 但done可以如:The building having been built is our school就是一句错句
我觉得前者比较正式一些,后者更口语话。其实这两种形式本身的含意是一样的。都是被动。