Knowledge

现在完成时1 用途总览+四大句式 概括其用途和肯 英语问句怎么说:3 步判断用途,4 类句式一张表

现在完成时不只背 have/has + done。本文用 3 个用途判断什么时候该用,再用肯定句、否定句、一般疑问句、特殊疑问句表格,帮你避开 has/have、过去分词、yesterday 和 since months 四类错误。

现在完成时1 用途总览+四大句式 概括其用途和肯 英语问句怎么说现在完成时用途现在完成时四大句式现在完成时一般疑问句现在完成时特殊疑问句have has done 怎么用

现在完成时先别急着背中文翻译。你先问三件事:这件事是不是到现在为止的经历,过去结果是不是影响现在,或状态是不是从过去延续到现在。答案是“是”,再套 have/has + 过去分词。变句式时记住一个核心:have/has 是帮你变否定和问句的词,不要再乱加 do、does、did。

流程图展示现在完成时的三类用途:经验到现在、结果影响现在和持续到现在。

一句话先判断:现在完成时不是“过去式升级版”

现在完成时的基础结构是:

have / has + past participle
have / has + 过去分词

British Council 对 present perfect 的基础解释是,它由现在时的 have 和动词过去分词构成,并常用来连接过去和现在。也就是说,它不是“更高级的过去式”,而是在说:过去发生或开始的事情,跟现在仍然有关系。查看 British Council 说明

先看三个最常用的判断场景。

你想表达什么适合用现在完成时吗例句
到现在为止的经历适合I have watched this movie twice.
过去动作造成现在结果适合She has lost her keys.
从过去开始持续到现在适合We have lived here for five years.

如果你只是说一个已经结束的过去时间点,比如“昨天看了”“2017 年去了”,通常用一般过去时,不要硬套现在完成时。

Wrong: I have watched it yesterday.
Right: I watched it yesterday.

第 1 步:先看主语,用 have 还是 has

现在完成时最容易乱的第一步,是 have 和 has。判断方法很简单:

主语用哪个例句
I / you / we / they / 复数haveI have finished it.
he / she / it / 单数hasShe has finished it.

注意,后面的主要动词要用过去分词,不是过去式随便一放。

finish -> finished
watch -> watched
go -> gone
eat -> eaten
do -> done
see -> seen

所以“她已经走了”是:

She has gone.

不要写成:

Wrong: She have went.
Right: She has gone.

第 2 步:再判断是经验、结果,还是持续

现在完成时的用途很多,初学者先抓住三类就够用了。

1. 经验到现在:我做过这件事

你想表达“到现在为止,我有过这个经历”,可以用现在完成时。

I have been to Beijing.
我去过北京。

She has tried sushi before.
她以前吃过寿司。

Have you ever watched this show?
你看过这个节目吗?

这里不强调具体哪一天,而是强调“到现在为止有没有这个经历”。如果你要说具体时间,就更像一般过去时:

I went to Beijing in 2019.
我 2019 年去了北京。

2. 结果影响现在:过去发生了,所以现在这样

过去动作已经发生,但你真正想说的是现在结果,也常用现在完成时。

I have lost my phone.
我手机丢了,现在找不到。

She has broken her glasses.
她眼镜坏了,现在没法正常用。

They have finished the report.
他们已经完成报告了,现在可以提交或讨论。

这类句子不要只翻译成“已经”。你要看的是,过去那件事是不是还影响现在。

3. 持续到现在:从过去开始,到现在还这样

如果你想说“持续了多久”,现在完成时经常和 for、since 一起出现。

I have lived here for three years.
我在这里住了三年了。

She has known him since 2020.
她从 2020 年就认识他。

We have studied English for a long time.
我们学英语已经很久了。

Cambridge Grammar 的规则很直接:for 后接一段时间,since 后接过去的时间点。查看 for or since 说明

Right: for three years
Right: since 2020
Wrong: since three years
Wrong: for 2020

如果你想专门练“我好几个月没做某事”,可以看这篇细分页:I haven’t done for months 现在完成时怎么用。

第 3 步:用四大句式把位置放对

先用同一个句子做母句:

She has finished her homework.
她已经完成作业了。

现在看四类句式怎么变。

表格图展示现在完成时肯定句、否定句、一般疑问句和特殊疑问句中 have 或 has 的位置。

句式结构例句中文理解
肯定句主语 + have/has + 过去分词She has finished her homework.她已经完成作业了。
否定句主语 + have/has + not + 过去分词She has not finished her homework.她还没有完成作业。
一般疑问句Have/Has + 主语 + 过去分词…?Has she finished her homework?她完成作业了吗?
特殊疑问句疑问词 + have/has + 主语 + 过去分词…?What has she finished?她完成了什么?

口语和日常写作里,否定句常缩写:

have not -> haven't
has not -> hasn't
I haven't finished it.
She hasn't seen the message.
They haven't decided yet.

一般疑问句的关键是把 have/has 提到主语前,不要再加 do/does/did。

Wrong: Does she has finished it?
Right: Has she finished it?

Wrong: Did you have seen it?
Right: Have you seen it?

如果你经常分不清英语问句什么时候不用 do/does/did,可以接着看:不用 do does did 的英语问句怎么判断。

特殊疑问句怎么套:疑问词放最前面

特殊疑问句其实是在一般疑问句前面加疑问词。

Have you finished the book?
你读完这本书了吗?

What have you finished?
你完成了什么?

Where has she gone?
她去哪儿了?

How long have you lived here?
你在这里住了多久?

How long 常用来问持续多久。回答时可以用 for 或 since:

How long have you lived here?
I have lived here for three years.
I have lived here since 2023.

Oxford Learner’s Dictionaries 对 since 的解释强调,它常和完成时连用,表示从过去某个时间一直到现在或后来某时。查看 since 词典说明

4 个高频错误:先避开这些坑

错误 1:has 和 have 只看中文,不看主语

中文不会因为“他、她、它”改变动词,但英语会。

Wrong: She have finished.
Right: She has finished.

Wrong: They has finished.
Right: They have finished.

错误 2:过去分词写成过去式

规则动词通常是 -ed,但很多高频动词是不规则过去分词。

Wrong: I have went there.
Right: I have gone there.

Wrong: She has ate lunch.
Right: She has eaten lunch.

Wrong: We have saw it.
Right: We have seen it.

错误 3:看到“昨天、去年”还硬用现在完成时

British Council 提醒,现在完成时通常不和 yesterday、last week/month/year、in 2017 这类已经结束的过去时间连用。你要说具体过去时间,优先用一般过去时。

Wrong: I have met him last week.
Right: I met him last week.

Wrong: She has moved here in 2020.
Right: She moved here in 2020.

但如果时间范围还没结束,就可以用现在完成时:

I have seen her today.
我今天见过她。

We have learned three patterns this week.
我们这周已经学了三个句型。

错误 4:把 since 和 for 混用

for 问“多长一段时间”,since 问“从哪个起点开始”。

Right: for two months
Right: since June
Right: since I moved here
Wrong: since two months
Wrong: for June

EF 的语法资料也用同样的对比:现在完成时里,可以用 for + 一段时间 或 since + 一个起点 来定义到现在之前的时间范围。查看 EF 说明

8 组替换例句:从会看表到会造句

你可以按下面方式替换练习。

中文意思英语句子你要注意
我已经完成作业了。I have finished my homework.I 用 have
她已经完成作业了。She has finished her homework.she 用 has
我还没看过这部电影。I haven't watched this movie.否定放在 have 后
他还没回复我。He hasn't replied to me.hasn't + 过去分词
你去过上海吗?Have you been to Shanghai?一般疑问句提前 have
她见过这个人吗?Has she seen this person?提前 has,用 seen
你已经学了多久英语?How long have you studied English?How long + have + 主语
他们住在这里多久了?How long have they lived here?持续到现在

练习时不要一次背几十条规则。先把同一句话改成四个版本:

I have finished the lesson.
I haven't finished the lesson.
Have you finished the lesson?
What have you finished?

这样练 5 组,比只看语法术语更容易形成手感。

在 Video Language Learn 里怎么练这类句子

如果你只是看懂表格,下一次听到真实句子还是可能反应不过来。更稳的练法是把现在完成时当成“句子声音 + 结构位置”一起练。

你可以在 Video Language Learn 里按这个顺序做:

  1. 用逐句精听先听一句含 have/has + 过去分词 的句子。
  2. 用单句循环反复听 have、has 和过去分词的位置。
  3. 用听写训练写出整句,再对照字幕检查是不是把 has 听成了 is,或漏掉了过去分词。
  4. 用影子跟读把肯定句、否定句和问句读顺。

如果你想找可练的真实视频,可以从英语口语素材库或英语听力素材库里挑短句,不要只背孤立语法表。

最后记这 4 句

现在完成时先判断用途,再处理句式。

have/has + past participle
I have finished it.
I haven't finished it.
Have you finished it?
What have you finished?

如果句子里出现明确过去时间,比如 yesterday、last night、in 2020,先考虑一般过去时。如果你要说“持续多久”,再看后面是时间段还是起点:时间段用 for,起点用 since。

FAQ

现在完成时什么时候用?

常见判断是:这件事是不是到现在为止的经历,过去动作是不是影响现在,或状态是不是从过去持续到现在。如果只是讲明确过去时间发生的一件事,通常用一般过去时。

现在完成时四大句式怎么写?

肯定句是 主语 + have/has + 过去分词;否定句是 主语 + have/has + not + 过去分词;一般疑问句是 Have/Has + 主语 + 过去分词...?;特殊疑问句是 疑问词 + have/has + 主语 + 过去分词...?

现在完成时为什么不用 do/does/did 提问?

因为现在完成时里的 have/has 已经是助动词,可以直接提前构成问句。不要写 Does she has finished?,要写 Has she finished?

for months 和 since months 哪个对?

for months 对,因为 months 是一段时间。since 后面接过去起点,例如 since Monday、since 2020、since I moved here。

参考资料

Practice Next

用真实视频练一次这个知识点

读懂规则后,选一段真实英文视频,把这个表达放回声音、字幕、跟读和听写里,才更容易变成主动表达。

开始免费试用 查看素材库
试用版-联系微信:ithulianwang 解锁完整版 共 10 集
泰勒·斯威夫特:夺回属于她的一切
第 1 集

泰勒·斯威夫特:夺回属于她的一切

视频时长 06:13 · 建议学习 > 40 分钟

开始练习
艾玛·斯通:红毯、电影与一路走来的情绪旅程
第 2 集

艾玛·斯通:红毯、电影与一路走来的情绪旅程

视频时长 04:24 · 建议学习 > 50 分钟

开始练习
为什么你听得懂英语却说不出来
第 3 集

为什么你听得懂英语却说不出来

视频时长 06:45 · 建议学习 > 20 分钟

开始练习

FAQ

常见问题

现在完成时什么时候用?

先看这句话是否和现在有关。常见场景包括:到现在为止的经历,过去动作造成现在结果,以及从过去开始持续到现在的状态或动作。

现在完成时四大句式怎么写?

肯定句是 subject + have/has + 过去分词;否定句在 have/has 后加 not;一般疑问句把 have/has 提到主语前;特殊疑问句在一般疑问句前加疑问词。

现在完成时能和 yesterday 连用吗?

通常不要。yesterday、last week、in 2017 这类明确已结束的过去时间,更常用一般过去时。

for months 和 since months 哪个对?

for months 对,因为 months 是一段时间。since 后面通常接起点,例如 since Monday、since 2020、since I moved here。

Start Practice

把这个知识点放进真实句子里练

打开学习页,用逐句精听、跟读和听写检查自己是否真的听清、说顺、写对。

立即开始学习