1、首先要区分has been done与 had been done的区别:
have/has been done 是现在完成时的被动语态。表示某事被做,。
如:The problems have been solved.这些问题已经被解决了。
had been done 则是过去的过去,是过去完成的被动态时。(当你想说发生在过去的两件事时,就要分清谁先谁后。先发生的用过去完成时,后发生的要用过去时)。
如:The rooms had been cleaned when I came. 我来的时候,房间已经被打扫了。
2、区分has/have been doing与 had been doing
has/have been doing是现在完成进行时,并对现在有影响。
如句子:I have been dreaming all the night.
had been doing是过去完成进行时,也是过去的过去,需要时间先后顺序的对比.
如:I had been doing the cleaning before my mother arrived at home.
那么现在就可以区分had been doing 和had been done的区别了