现在完成进行时
现在完成进行时强调从过去延续到现在这段时间中的活动过程。活动可能仍在继续,也可能刚结束,但留下了现在可见的痕迹。
把语法放进生活
朋友迟到了,你还站在咖啡馆外等候。
I have been waiting for twenty minutes.等待早已开始,并一直延续到现在,重点是等待了多久。
过去现在将来
搭好句子
看清句型结构。
| 句型 | 结构与例句 |
|---|---|
| 肯定句 | subject + have/has been + verb-ingShe has been studying all morning. |
| 否定句 | subject + have/has not been + verb-ingI have not been sleeping well. |
| 疑问句 | Have/Has + subject + been + verb-ing?How long have you been waiting? |
知道什么时候用
真实情境中的用法。
01活动持续了多久
解释时间花在哪里、某件事情为什么耗时较久时,这个形式很有用。for 表达时长,since 表达起点。时态本身不保证活动今后还会持续。
We have been preparing the presentation since Monday.
02刚结束但有痕迹的活动
活动已经停止也可以用完成进行时,只要刚才的过程能解释眼前现象。例如湿外套可以说明刚刚在雨中行走。不能把“必须还在继续”当作绝对条件。
Your shoes are muddy. Have you been walking in the park?
03过程与已完成数量
完成进行时突出投入的过程或时长;要说已经完成的数量或结果,通常用现在完成时更合适。汇报进展时,先判断自己要表达花了多久,还是完成了多少。
I have been writing emails for an hour. / I have written five emails.
04状态动词通常不用进行形式
拥有、知道等状态通常用完成时,如 have owned、have known。判断时要看具体含义,而不只是背单词清单;have 既可以表示拥有,也可以表示吃午饭等活动。
小地方,大不同
留意这些常见错误。
避免I have been knowing her for years.
这样说I have known her for years.
know 表达状态,而不是持续展开的活动。
避免She has working since nine.
这样说She has been working since nine.
完整结构需要 has + been + working。
轮到你了
试一试,看看是否理解。
先自己选择,再查看解释。答错也没关系,重要的是理解原因。