现在完成时先别急着背中文翻译。你先问三件事:这件事是不是到现在为止的经历,过去结果是不是影响现在,或状态是不是从过去延续到现在。答案是“是”,再套 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 / 复数 | have | I have finished it. |
| he / she / it / 单数 | has | She 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 + 过去分词 | 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 里按这个顺序做:
- 用逐句精听先听一句含
have/has + 过去分词的句子。 - 用单句循环反复听
have、has和过去分词的位置。 - 用听写训练写出整句,再对照字幕检查是不是把
has听成了is,或漏掉了过去分词。 - 用影子跟读把肯定句、否定句和问句读顺。
如果你想找可练的真实视频,可以从英语口语素材库或英语听力素材库里挑短句,不要只背孤立语法表。
最后记这 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。
参考资料
- British Council LearnEnglish: Present perfect
- Cambridge Grammar: For or since?
- Oxford Learner’s Dictionaries: since
- EF English Resources: Present perfect with for and since
Practice Next
用真实视频练一次这个知识点
读懂规则后,选一段真实英文视频,把这个表达放回声音、字幕、跟读和听写里,才更容易变成主动表达。