have been doing和have done的区别

2024-11-02 19:23:10
推荐回答(2个)
回答(1):

1)have been doing 是现在完成进行时,表过去发生的动作一直在进行到现在。
We have reading an interesting book since last week.

2)have done 是现在完成时,表在过去发生的动作对现有影响。
So far I have been to Beijing twice.

3)have(has) been done为现在完成时态的被动语态,表被动和完成的动作;

4)have been doing为现在完成进行时态,表主动动作,即从过去某一时间开始一直持续进行到现在为止的动作,还有可能继续进行下去,如:
The building has been completed. 大楼已经被盖好了。
They have been building the hall.他们一直在建造着那所礼堂。
(表主动动作,该动作尚未停止,只有延续性动词才能用于此种时态,而have been done无此限制,但必须是及物动词才能用于被动语态)。

回答(2):

have been doing是现在完成进行时,表示从过去一直进行到现在。have done 是现在完成时表示所描述的事件已完成。