have been done和have been doing有啥区别?哪个正确?

2024年11月23日 05:30
有5个网友回答
网友(1):

have been doing是现在完成进行时,表示已经做了并且还在做的事情。have been done 是一般现在时,表示已经完成的事情。

  1. 英语完成时、进行时,既可以作为两个相对独立的时态,也可以组合为一种新的时态,即“完成进行时”。完成进行时是从动作的持续状态的角度来看待一个动作的。如果再从时间的角度来看,它又可以分为过去完成进行时、现在完成进行时、将来完成进行时以及其它的一些时态。下面结合实例,来简要地叙述一下完成进行时的用法。

  2. 如果单独看完成时态,它有一个基本的含义即表示到某个时间为止,该动作已经完成,所以它称作“完成时”。但是,在完成进行时里面,一般情况下,它并不表示动作的“完成”,而是表示长时间的持续状态。也就是说,完成进行时侧重于“进行”。

  3. 如果单独看进行时,它表示某个时间内动作正在进行,而完成进行时则侧重于长时间的持续状态。如果简单地说,完成进行时实际上是一种强调动作持续发生的进行时,并且含有动作反复进行的意思。

  4. 以上就是完成时、进行时、完成进行时之间的联系和区别。

参考资料

百度百科.百度百科[引用时间2017-12-20]

网友(2):

表示的时态不同。

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

网友(3):

两个都正确。
~have been done 是被动语态的完成时态,主语是行为对象,表示 “已经被完成”。
~have been doing 是完成进行时,主语是行为者,表示 “一直都在做着”。

网友(4):

前者表示已经被做。后者是一直在做,,,,

网友(5):