have been doing和have been done有什么区别

如题所述

表示的时态不同。

1、have been doing 是现在完成进行时。从名称就可以看出,它既包含完成时,又有进行时。它表示从过去某一时间开始一直延续到现在的动作。现在这个动作可能刚刚终止,也可能仍在进行。它是主动语态。如:

I have been standing on one foot for nearly 3 hours.  

我单脚站立已经快三小时了。

2、have been done 是现在完成时的被动语态。因为是被动语态,所以主语多为物。如:

Our classroom has been cleaned, you needn't clean it now. 

我们的教室已经被打扫过,你现在没必要再打扫了。

现在完成时基本句型:

1、肯定句:主语+have/has+been+动词的现在分词+其他

2、否定句:主语+haven’t/hasn‘t+been+动词的现在分词+其他

3、一般疑问句:have/has+主语+been+动词的现在分词+其他

肯定回答:Yes.主语+have/has 否定回答:No.主语+haven't/hasn't

温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-04-17

have been doing 和 have been done 是两种不同的英语语法结构,它们之间的区别主要体现在动作的主体和被动关系上。

    have been doing:这是现在完成进行时的句式结构,表示某个动作从过去开始,持续到现在,而且可能会持续进行。这种结构主要用于强调动作的持续性。这个结构是主动语态,表示主语正在进行的动作。

    例如:
    a. I have been working on this project for three months.(我已经在这个项目上工作了三个月。)
    b. They have been playing basketball since 2 pm.(他们从下午2点开始就一直在打篮球。)

    have been done:这是现在完成时被动语态的句式结构,表示某个动作已经被完成。这种结构强调的是动作的被动性,即动作是由别人或外部因素完成的。

    例如:
    a. The report has been finished by John.(这份报告已经被约翰完成了。)
    b. The dishes have been washed by my sister.(碗碟已经被我妹妹洗了。)

    总之,have been doing 和 have been done 的主要区别在于动作的主动和被动关系。have been doing 表示主语正在进行的动作,强调动作的持续性,而 have been done 表示动作已经被完成,强调动作的被动性。在使用这两个结构时,请注意这些差异。

相似回答