一、概念
现在完成进行时表示动作从过去某一时间开始,一直持续到现在,可能还要继续进行下去。
二、结构
1.肯定形式:have/has+been doing (第三人称单数用has,其他人称用have)
I have been waiting for you.
我一直在等你。
2.否定形式: have/has+not+been doing
He hasn't been using the car for the last two months.
过去两个月他一直没用车。
三、用法
1.表示动作从过去某时开始一直持续到说话时还在进行,或可能还要继续下去。通常和“for+时间段”或“since+时间点(或从句)”的时间状语连用。
It has been snowing for three hours.
雪已经下了三个小时了。(从过去某一时间开始下雪,强调到现在还在下)
2.表示不久前刚刚结束的动作。这种意义通常根据上下文来判断。
—Sorry! I'm late.How long have you been waiting for me?
—We have been waiting for you for half an hour.
——很抱歉,我来迟了。你们等多长时间了?
——我们已经等了你半小时了。
3.强调动作延续时间的长久或带有感情色彩。
She's been saying that twenty times.
那话她已经说了二十遍了。
4.表示这段时间反复发生的事情。
I have been visiting some cities of China this month.
这个月我一直在访问中国的一些城市。