have been done和have been doing有啥区别?哪个正确?
have been doing是现在完成进行时,表示已经做了并且还在做的事情。have been done 是一般现在时,表示已经完成的事情。
英语完成时、进行时,既可以作为两个相对独立的时态,也可以组合为一种新的时态,即“完成进行时”。完成进行时是从动作的持续状态的角度来看待一个动作的。如果再从时间的角度来看,它又可以分为过去完成进行时、现在完成进行时、将来完成进行时以及其它的一些时态。下面结合实例,来简要地叙述一下完成进行时的用法。
如果单独看完成时态,它有一个基本的含义即表示到某个时间为止,该动作已经完成,所以它称作“完成时”。但是,在完成进行时里面,一般情况下,它并不表示动作的“完成”,而是表示长时间的持续状态。也就是说,完成进行时侧重于“进行”。
如果单独看进行时,它表示某个时间内动作正在进行,而完成进行时则侧重于长时间的持续状态。如果简单地说,完成进行时实际上是一种强调动作持续发生的进行时,并且含有动作反复进行的意思。
以上就是完成时、进行时、完成进行时之间的联系和区别。
参考资料
百度百科.百度百科[引用时间2017-12-20]
表示的时态不同。
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
~have been done 是被动语态的完成时态,主语是行为对象,表示 “已经被完成”。
~have been doing 是完成进行时,主语是行为者,表示 “一直都在做着”。