两者都表示完成但是:Have/Has been done是被动语态,Have/Has done 是主动语态.而have been doing 表示某人一直在做某事,有可能延续下去,有可能刚刚结束.
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 been doingg是现在完成进行时,并对现在有影响。
has been done跟has been doing有什么区别
两个都正确。~have been done 是被动语态的完成时态,主语是行为对象,表示 “已经被完成”。~have been doing 是完成进行时,主语是行为者,表示 “一直都在做着”。