区分:have been doing和have done
*两者最大的区别是:have been doing是现在完成进行时,是指过去的一个动作延续或重复的出现,表示已经做了并且还在做的事情,对现在仍有影响;have done是过去的一个动作已完成,对现在仍有影响。
*重点说明:have been doing,强调一个动作延续或者重复出现。
I have been waiting for you for 2 hours.
我等了你两个小时了(动作延续)。
My son has been riding his sister’s old bike.
我儿子一直骑他姐姐的旧车(动作重复)。
*而have done指一个动作,并不强调动作延续或重复。
The world has waited 12 years for Iraq to disarm.
世界等待伊拉克解除武装已经等了12年了。
*注意:无论是have been doing还是have done,都指对现在还有影响。如果对现在没有影响了,可以用had been doing和had done.