过去完成时 Past Perfect
考试:📘 KET — 📙 PET ✓ 📕 FCE·雅思 ✓ 分类:时态 考试入口:PET语法清单 关联:一般过去时 Simple Past | 现在完成时 Present Perfect | 过去进行时 Past Continuous | 间接引语 Reported Speech
核心规则(Grammar Core)
什么时候用?
过去完成时只做一件事——告诉你两个过去事件里,哪个先发生。
- 过去某时之前已经完成 — By 9 p.m. I had finished my homework.
- 两个过去事件,更早的那个 — When I got home, Mom had already cooked dinner.
- 间接引语里的”过去的过去” — She said she had seen the movie before.
一句话总结:一般过去时 + 一般过去时 = 谁先谁后看不清;用过去完成时给”先发生”那个戴上 had 帽子。
构成公式
| 句型 | 公式 | 例句 |
|---|---|---|
| 肯定 | S + had + V-ed/V3 | The bus had left when I arrived. |
| 否定 | S + had not + V-ed/V3 | I hadn’t finished my dinner when Dad came home. |
| 疑问 | Had + S + V-ed/V3? | Had you studied for the test before class? |
had 对所有人称都一样(I/you/he/she/we/they had)——比现在完成时还省心。 缩写:had → ‘d(I’d / he’d / they’d)
信号词雷达
| 信号词 | 用法 | 例句 |
|---|---|---|
| by + 过去时间点 | 之前已完成 | By 2024, Aaron had learned 1500 English words. |
| by the time + 过去时句子 | 等到那时,已经…… | By the time I got to school, the bell had rung. |
| before / after | 前/后顺序 | Before I joined the team, I had never played football. |
| when | 当……时(更早动作) | When I opened the door, the cat had escaped. |
| already / just / yet / never / ever | 完成时家族标志词 | She had already done her homework before dinner. |
Grammar Lens
时间轴定位
现在完成时
↓
─────●────────────●─────→ 现在
过去某点 NOW
↑
过去完成时(更早的过去)
↑
●─────●─────●─────→ 时间轴
更早 过去 现在
had V V V
类比:现在完成时是「过去到现在」,过去完成时是把这条线段整体向左平移——「更早的过去到过去某时」。
对比辨析:过去完成时 vs 一般过去时 ⚠️
| 一般过去时 | 过去完成时 |
|---|---|
| 一连串动作 按顺序 发生 | 强调 某动作在另一动作前 完成 |
| I opened the box and took out the toy. | I opened the box. Someone had taken the toy. |
| (先开盒,后拿玩具——按顺序) | (我开盒时,玩具已经被拿走了) |
口诀:句子里有两个过去动作,先发生的那个戴 had 帽子。只有一个动作?用一般过去时就够了——别滥用 had。
对比辨析:过去完成时 vs 现在完成时
| 现在完成时(影响现在) | 过去完成时(影响过去某时) |
|---|---|
| I have lived here for 5 years.(现在还住) | In 2020, I had lived here for 5 years.(2020 那时已经住了5年) |
| She has finished her project.(现在已完成) | When I called her, she had finished her project.(我打电话时她已完成) |
参照点不同:现在完成时锚定”现在”,过去完成时锚定”过去某时”。
😂 Grammar Joke
抄作业的真相
Mom: “Aaron, had you done your homework before dinner yesterday?” Aaron: “Yes, Mom. I had finished it by 6 p.m.” Mom: “Really? Your teacher called. She said your homework was identical to your friend’s.” Aaron: “Well… my friend had finished his first. I just… double-checked my answers.” Mom: “And by ‘double-checked’, you mean…?” Aaron: “Confirmed they were the same. Twice.”
Aaron 用过去完成时给自己制造时间差——“我在晚饭前就已经完成了”。但 had finished 隐藏不了一个事实:朋友更早完成了(his had finished first),他的”完成”是建立在朋友的”完成”之上的。
语法点:过去完成时只关心”谁更早”,不关心”是谁原创”——这就是它的法律漏洞。
🏛 语言文化光点
侦探小说与”过去的过去”
阿加莎·克里斯蒂的小说总是从犯罪已经发生之后开始讲述——侦探到达现场时,凶案 had already happened。整本书都在用过去完成时回溯:
“When Poirot arrived, the victim had been dead for three hours. The murderer had escaped through the window. Someone had wiped all the fingerprints.”
中文里没有「过去的过去」这个专门时态,我们靠”已经/早已/原本”等副词表达。英语干脆造了一整套时态系统——这是英语区别于中文的一个核心思维差异:事件不光有”什么时候”,还有”相对于什么时候”。
例题精讲
例1(📙 PET · by the time 句式)
By the time I _____ (get) to the cinema, the movie _____ (already start).
答案:got, had already started。by the time 引导的过去时间点 → 主句用过去完成时(已经开始了)。
例2(📙 PET · 两个过去动作的先后)
When Mom _____ (open) the fridge, I _____ (already eat) all the chocolate.
答案:opened, had already eaten。Mom 开冰箱时,我之前已经吃完巧克力——“吃巧克力”更早 → had eaten。
例3(📙 PET · 选择题)
Before Aaron started Minecraft, he _____ Roblox for two years. A. played B. has played C. had played D. was playing
答案:C。before 引出后来事件,更早的动作(玩 Roblox 两年)用过去完成时。
📙 进阶:若想强调「持续过程感」,母语者也常用过去完成进行时 had been playing —— 详见 现在完成进行时 Present Perfect Continuous 的过去版本。两者都对,前者强调”事实/数量”,后者强调”过程”。
例4(📙 PET · 叙事段落填空)
Last summer, I went to my grandparents’ farm. I (1)_____ (never see) so many animals before. Grandpa told me he (2)_____ (build) the barn himself 30 years ago. By the time I left, I (3)_____ (learn) how to milk a cow.
答案:(1) had never seen (2) had built (3) had learned。三句都在”去年夏天”这个过去时点之前——都是”过去的过去”。
例5(📕 FCE 预览 · 与过去完成进行时对比)
She had been waiting for two hours when the bus finally came.
进行时强调持续到那个过去时点——这是 现在完成进行时 Present Perfect Continuous 的过去版本。Aaron 先掌握过去完成时,下一步再学。
📖 Real English · 真实阅读
🔵 The Lost Phone
I came home from school and immediately knew something was wrong. My desk had been turned upside down. My drawer had been opened. Then I realized—my new phone, the one Dad had bought me for my birthday, was gone. I checked everywhere. I called my brother, but he said he had left for basketball practice at three. By the time Mom got home, I had searched the whole house twice. “Did you check your school bag?” she asked. I hadn’t. The phone was there. I had put it in the side pocket that morning and had forgotten completely.
🔵 The Game I Wasn’t Supposed to Play
It was a Tuesday night. I had promised Mom I wouldn’t play video games during the week. But my friend Leo had just unlocked a rare item in Genshin Impact, and he wanted to show me. I told myself I would only play for ten minutes. Two hours later, Mom opened my door. The room was dark. The screen was bright. “I thought we had agreed,” she said quietly. The worst part wasn’t that she was angry. It was that I had broken a promise—and we both knew it.
🔵 The Concert That Changed Everything
In 1964, a young man from Liverpool walked onto a stage in New York. He had practiced the guitar every day since he was twelve. He had written his first song at fifteen. He had played in dirty clubs in Hamburg for two years before anyone noticed. By the time he reached the Ed Sullivan Show that night, John Lennon had spent half his life preparing for this moment. Seventy-three million Americans were watching. The Beatles had arrived.
📝 中文注释(先读完英文再展开)
丢失的手机:典型的”回家发现现场已变”叙事。had been turned/had been opened/had bought/had left/had searched/had put/had forgotten——所有”我到家”之前的事件全部戴上 had 帽子。注意 had been turned 是过去完成时的被动语态——见 被动语态 Passive Voice。
不该玩的游戏:had promised(之前的承诺)/ had just unlocked(朋友刚解锁,比”想给我看”早一点)/ had agreed(我们之前约定的)/ had broken(妈妈进门前我已经破坏了约定)。情感的张力在于”约定”和”破坏”之间的时差——这正是过去完成时擅长表达的。
改变一切的演唱会:John Lennon 在 1964 年 Ed Sullivan Show 之前的所有铺垫——had practiced/had written/had played/had spent。这是英语传记写作的经典结构:先用过去完成时铺垫多年准备,再用一般过去时落到决定性时刻(The Beatles had arrived 是双关——既是”到达美国”,也是”成名时刻终于到来”)。
练习题
📙 PET 基础(5题)
- By the time the bell rang, I _____ (finish) my exam.
- She _____ (never visit) Beijing before last summer.
- I couldn’t get into my house because I _____ (lose) my keys.
- When Aaron arrived at school, the class _____ (already start).
- Dad was angry. My brother _____ (eat) the last piece of cake.
📙 PET Writing Part 1 · 句型转换(2题 · 必考)
1. 用 by the time 改写
First Aaron finished his homework. Then he played games. → By the time Aaron _____ games, he _____ his homework.
参考答案:played, had finished
2. 用 before 改写
I met my best friend Leo at the age of 8. I didn’t have any close friends before. → I _____ (not have) any close friends before I met Leo.
参考答案:hadn’t had(注意:had + had = “曾经拥有”过去完成时)
📙 PET 进阶写作(1题)
写一段 3-4 句话的故事,主题”我打开礼物时发现……”,至少用 2 个过去完成时。
🔗 节点关系
现在完成时(参照点=现在)
↓ 把参照点左移到"过去某时"
过去完成时 ──────┬─ by + 过去时点 / by the time
├─ 两个过去事件比先后
├─ 间接引语「时态后移」(→ Reported Speech)
├─ 第三条件句基础(If I had..., I would have...)
└─ 过去完成进行时(强调持续过程 · 📕 FCE)
双链跳转: 现在完成时 Present Perfect | 一般过去时 Simple Past | 过去进行时 Past Continuous | 间接引语 Reported Speech | 条件句 Conditionals | 现在完成进行时 Present Perfect Continuous
R. S. Ang · K12 Notes · PET, 2026