同学你好,简单说,两个都是被动语态,只是时态不一样
something be done (by someone)是某事被做完(由某人)是单纯的被动语态。
看be动词的时态判断句子时态,如果是am/is/are那就是现在时的被动语态。being就是现在进行时的被动语态。was/were是过去时的被动语态。也就是动作发生的时间不一样,be动词不一样。
something have been done (by someone) 是某事到现在为止已经被做完(由某人)
have been是be动词的完成时态形式。说明是现在完成时的被动语态。
------
关于完成时的主动/被动语态:(区别在been)
表示完成时的主动形式:某人 have/has done 某事
如:
I had done my possible to satisfy the customers.
我已经尽了最大的努力以使顾客满意。
表示完成时的被动形式:某事 have/has been done (by someone被某人)
如:
Every last ticker for the opera has been sold.
该出歌剧的票已全部售完。
-----
所以你所提出的问题本身就有点概念不清,而且对现在完成时的句子结构构成不熟悉。(上述主动被动两种)
不知道你是不是在题目随便加ing拼错单词还是你想问完成进行时,即have been doing某事。
完成进行时是从过去某一时间开始直到现在一直在进行的动作,未来可能还要延续。强调(在进行)
例1:I have been doing the same job in another company.
我一直在另一家公司做同样的工作。
例2:I have been watching TV all night.我看了一整晚的电视。
完成时是从过去开始的一件事到现在已经完成。强调状态(已完成)
例1:I have seen this happen more than once. 发生这种事我屡见不鲜。
例2:Actually I have been taught history for five years.实际上我教历史已有五年之久了。