现在完成进行时

现在完成进行时强调从过去延续到现在这段时间中的活动过程。活动可能仍在继续,也可能刚结束,但留下了现在可见的痕迹。

把语法放进生活

朋友迟到了,你还站在咖啡馆外等候。

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。

轮到你了

试一试,看看是否理解。

先自己选择,再查看解释。答错也没关系,重要的是理解原因。

01强调仍在进行的活动持续了多久:We ___ for two hours and are not finished.

查看答案与解析

have been cleaning

have been cleaning 强调持续的清洁活动及其时长。

02哪个形式自然地表达已完成的数量?

查看答案与解析

I have read three chapters.

汇报已经读完三章这一数量,使用现在完成时。

本课例句与讲解由 TenseQuest 编写。

延伸参考:British Council · Present tense

发现问题?告诉我们。

把知识连接起来

接下来学什么。

现在完成时现在进行时过去完成进行时