现在完成时 & 过去完成时:一篇把语法课讲透的完整笔记
时间轴:

0. 完成时的核心:站位 + 完成
英语里“完成时(Perfect)”可以用两个关键词理解:
- 完成(done):强调动作/状态“已经发生/已经完成”的结果状态。
- 站位(reference point):你站在哪个时间点回头看这件事?
| 时态 | 站位(基点) | 时间关系(最常见) | 关键词 |
|---|---|---|---|
| 现在完成时 | 现在(now) | past → now(可能继续) | 过去影响现在 / 持续到现在 |
| 过去完成时 | 过去某点(past B) | past A → past B(A 更早) | 过去的过去 |
1. 现在完成时(have/has + done)
1.1 定义
现在完成时表示:
- 过去的动作或状态持续到现在;或
- 过去的动作/事情对现在造成影响或产生结果;并且
- 可能持续发生下去。
1.2 结构与含义拆解
结构:have / has + done
have/has(助动词):告诉读者——动作从过去延伸到现在(站在“现在”说话)。done(过去分词):强调动作的“态”——已完成/已发生,并对现在有影响。
课堂记忆法:助动词决定“时间站位”,过去分词决定“完成状态”。
1.3 常见标志词(时间状语)
A. 强调“过去影响现在/产生结果”(时间不精确)
常见:
already, before, just, yet, recently, lately, ever
讲义例句:
- We have had too much rain recently.(今年来我们有很多的雨水/今年下了很多雨)
B. 强调“从过去持续到现在(并可能继续)”
常见:
so far, up to now, since, for a long time, till now, in the past, last few years ...
讲义例句:
- He has worked here for over twenty years.(他已经在这里工作二十多年)
- He has lived here since 1978.(自从 1978 年以来,他一直住在这里)
最硬核提示:
since + 时间点;for + 时间段。
1.4 典型用法(按课上顺序归纳)
用法 1:过去发生的动作/事情对现在造成影响或产生结果
特征:动作发生在过去,但你现在说这句话是为了突出“结果/影响仍然成立”。
例句(课堂举例思路):
- I have been to Beijing already.(我已经去过北京了)
用法 2:从过去某个时间点开始持续到现在,并可能延续下去
特征:动作从过去开始,一直持续到现在;未来可能继续。
- He has lived here since 1978.
用法 3:固定结构中,从句常用现在完成时
讲义结构:
It / This is the first time that ...This is the best (worst / most interesting ...) + 名词 + that ...
讲义例句:
- This is the first time that I have heard her sing.(这是我第一次听到她唱歌)
- It’s the best film that I have ever seen.(这是我所看过的最好的电影)
课堂解释抓手:这些句型常暗含“此前从未发生过/此前的经历”,因此从句倾向用现在完成时来连接“过去经历 → 现在评价/第一次”。
用法 4:句中有 since 引导的时间状语(从句),主句常用现在完成时
讲义例句:
- Where have you been since I last saw you?(从我上次见到你以后你去哪儿了?)
本质仍是“从过去某点到现在”的持续关系:
since + 过去事件/时间点。
用法 5:在时间/条件/让步状语从句中,表示“将来某时刻以前已完成”的动作
讲义例句:
- I will not believe you unless I have seen it with my own eyes.(除非我亲眼看到,否则我不会相信你)
- I will go with you as soon as I have finished my work.(我一完成工作就和你去)
课堂提醒:形式上是“现在完成”,语义上在这里表达的是**“在将来某动作之前先完成”**。
1.5 易错点:延续性动词 vs 终止性动词
讲义要点:
- 现在完成时的“未完成/持续”用法只适用于延续性动词。
- 不可用于终止性动词(瞬间完成或延续时间很短的动词)。
讲义列举的终止性动词:
come, go, arrive, leave, join, become, die ...
讲义对比例句:
- The boy has left home for one month. (×)
- The boy has been away from home for one month. (√)
- He has borrowed the book for one week. (×)
- He has kept the book for one week. (√)
一句话理解:
leave/borrow是“瞬间动作”,不能持续一周/一个月;- 换成
be away/keep这种“可持续状态/延续性表达”才合理。
1.6 高频辨析:has gone(to) / has been(to) / has been(in/at)
| 表达 | 侧重点 | 中文核心含义 | 能否搭配 for + 时间段 |
|---|---|---|---|
has gone to |
现在状态 | 去了还没回来(人在那/在路上) | 通常不搭配 |
has been to |
过去经历 | 去过且已回来 | 通常不搭配 |
has been in/at |
持续状态 | 一直在某地(此刻多半仍在) | 可以搭配 |
讲义例句:
- He has gone to Beijing.(他去北京了:还没回来/在路上)
- I have been to Beijing twice.(我去过北京两次:现在已回来)
- She has been in Beijing for nearly two weeks.(她在北京快两周了:此刻仍在北京的语感很强)
1.7 补充:含将来意义的从句为什么用现在完成时
在下列结构里,从句常用现在完成时来表示“在将来某一时刻之前已完成”:
unless + 从句as soon as + 从句
这是英语里常见的规则:时间/条件从句里不用 will 来表达“将来完成”,而用现在完成来表达“将来之前已完成”。
2. 过去完成时(had + done)
2.1 定义:过去的过去
讲义定义要点:
- 表示过去某一时间之前就已经发生或完成的动作;
- 对过去某一点造成影响或结果;
- 用来指在另一个过去行动之前就已经完成的事件。
课堂“时间轴”版总结(非常关键):
- 过去基点是 B(一个过去时刻/动作)。
- 更早发生的是 A(在 B 之前)。
- A 用过去完成时(had done),B 用一般过去时(did)。
2.2 结构:had + done
结构:had + done
had:把“站位”拉回过去(从过去持续到过去)。done:强调“已完成/已发生”。
结构变化记忆:把现在完成的
have/has变成过去式had。
2.3 常见标志词(时间状语)
讲义典型提示:
by the end of last + 时间段
- By the end of last term, we had learned 5000 new words.
by the time + sb. + 动词过去式
- The bus had already left by the time I got there.
by the time of + 过去的时间段
- By the time of last year, we had built two bridges.
快速抓信号:看到
by.../by the time.../before...,先问自己:是不是在说“某个过去点之前就已完成”?
2.4 基本用法(讲义 1–8 点逐条整理)
用法 1:过去某一时刻前已完成(过去的过去)
讲义要点:可用 by、before 短语或时间从句提示;也可用另一个过去动作或上下文提示。
- By nine o’clock last night, we had got 200 pictures from the spaceship.
用法 2:从过去某时开始持续到过去另一时刻(for/since 同理)
- I had been at the bus stop for 20 minutes when a bus finally came.
- He said he had worked in that factory since 1949.
用法 3:先叙述过去事件,再倒回补述更早动作
- Mr. Smith died yesterday. He had been a good friend of mine.
- I didn’t know a thing about the verbs, for I had not studied my lesson.
用法 4:含定语从句的复合句中,先发生的动作用过去完成时
- I returned the book that I had borrowed.
- She found the key that she had lost.
用法 5:常用于 said/told/knew/heard/thought 等后的宾语从句(间接引语)
- He said that he had known her well.
- I thought I had sent the letter a week before.
用法 6:时间状语从句中,两动作先后——强调“先发生”用过去完成时
讲义连接词:when, before, after, as soon as, till/until ...
- When I woke up, it had already stopped raining.(我醒来时雨已停)
用法 7:表示过去未实现的想法/希望/打算/意图
与 think, want, hope, mean, plan, intend ... 等连用:
- They had wanted to help but could not get there in time.
- We had hoped to be able to come and see you.
用法 8:固定句型与倒装:hardly...when... / no sooner...than...
- Hardly had he begun to speak when the audience interrupted him.
- No sooner had he arrived than he went away again.
- It was the third time that he had been out of work that year.
3. 三组关键对比(刷题必用)
3.1 现在完成时 vs 过去完成时
讲义原意对比:
- 现在完成时:动作发生在过去,以现在为基点,强调对现在产生的结果/影响。
- 过去完成时:以过去为基点,更强调“过去的过去”;通常需要与“过去某时/某动作”对照。
讲义对比句:
- I have learned 1000 English words so far.(到目前为止我已经学会了 1000 个英语单词)
- I had learned 1000 English words till then.(到那时为止我已经学会了 1000 个英语单词)
3.2 过去完成时 vs 一般过去时
讲义提醒:
- 过去完成时常与一般过去时同现,在时间上强调“过去的过去”。
- 一般过去时可单独使用,强调过去某一特定时间。
重要替代规则(讲义原话思路):
- 如果两个动作紧接着发生,用
and / but连接并按顺序发生,常用一般过去时代替过去完成时。 - 在包含
before / after / as soon as的复合句中,如果先后顺序已经非常明确,也可用一般过去时。
讲义例句:
- After we climbed the hill, we went boating.
- He entered the room, turned on the light and read an evening paper.
3.3 一句话判断流程
- 先找站位:你是在“现在”说话,还是在叙述“过去某一点/某件事”?
- 再看是否有更早动作:
- 只有单一过去事件 → 多数用一般过去(did)
- 过去基点 B + 更早动作 A → A 用过去完成(had done)
- 最后用标志词自检:
by... / before... / since / for / so far ...
4. 讲义补充:主句过去将来时,从句一般过去时
这条出现在讲义(现在完成时部分之前的补充条目)里,属于“时态一致/从句时态”常考点:
- 如果主句时态是过去将来时(would...),那么从句通常用一般过去时。
讲义例句:
- He said that he would have another try if he had the chance.
- I knew he could help me if he was free the next day.
5. 快速复盘清单
现在完成时:have/has + done
- 含义:过去影响现在 / 从过去持续到现在(可能继续)
- 标志词:
already, just, yet, recently, lately, ever, so far, since, for... - 高频结构:
This/It is the first time that ...the best/worst/most ... that ...
- 易错点:持续表达要用延续性动词(或改成状态表达)
- 高频辨析:
has gone to(去了没回)has been to(去过已回)has been in/at(一直在某地)
过去完成时:had + done
- 含义:过去某点 B 之前更早的 A(过去的过去)
- 标志词:
by.../before.../by the time... - 常见语境:追述更早动作、定语从句先发生、宾语从句先发生、两过去动作先后对比
- 固定句型:
hardly...when.../no sooner...than.../It was the ... time that...
评论区