过去完成时(Past Perfect)描述的是在过去某个动作之前就已经完成的另一个动作。你可以把它理解为"过去的过去"。当你已经在谈论一个过去的事件,需要提到更早发生的事情时,过去完成时就是你需要的时态。它在讲故事、间接引语和解释过去的因果关系中尤为重要。
如何构成过去完成时
过去完成时由助动词 had 加上主动词的过去分词构成。这个时态的一个优势是 had 对所有主语都是一样的。
肯定句公式:
| 主语 | 助动词 | 过去分词 | 例句 |
|---|---|---|---|
| 所有主语 | had ('d) | 过去分词 | She had finished the report before the meeting started.(会议开始前她已经完成了报告。) |
否定句公式:
| 主语 | 助动词 + Not | 过去分词 | 例句 |
|---|---|---|---|
| 所有主语 | had not (hadn't) | 过去分词 | They hadn't eaten before they left.(他们离开前还没有吃饭。) |
疑问句公式:
| 助动词 | 主语 | 过去分词 | 例句 |
|---|---|---|---|
| Had | 所有主语 | 过去分词 | Had you seen the movie before?(你之前看过那部电影吗?) |
过去分词提示:
- 规则动词:加 -ed(worked, played, studied)
- 不规则动词:动词表的第三列(go → gone, eat → eaten, see → seen, write → written, take → taken, begin → begun, speak → spoken)
什么时候使用过去完成时
过去完成时总是与另一个过去事件相关联。它用来确定哪个动作先发生。
1. 在另一个过去动作之前完成的动作
这是最常见的用法。较早的动作用过去完成时,较晚的动作用一般过去时。
- When I arrived at the station, the train had already left.(当我到达车站时,火车已经开走了。)
- She had studied French before she moved to Paris.(她搬到巴黎之前就学过法语了。)
- By the time we got to the cinema, the film had started.(我们到电影院时,电影已经开始了。)
2. 在过去某个时刻之前的持续状态(搭配 for/since)
表达在过去某个时间点之前,某事已经持续了多久。
- They had lived in Tokyo for five years before they moved to Osaka.(他们搬到大阪之前,已经在东京住了五年。)
- She had worked at the company since 2010 when she decided to resign.(她决定辞职时,已经在那家公司工作了自2010年以来的时间。)
3. 间接引语
转述他人的话时,原话中的一般过去时通常变为过去完成时。
- 直接引语:"I finished my homework."(我完成了作业。)
- 间接引语:He said he had finished his homework.(他说他已经完成了作业。)
4. 第三类条件句(虚拟过去)
过去完成时出现在第三类条件句的 if 从句中,描述想象中的过去情况。
- If I had known about the meeting, I would have attended.(如果我知道那个会议的话,我就会参加了。)
- She would have passed the exam if she had studied harder.(如果她学习更努力的话,她就会通过考试了。)
5. 表达对过去的遗憾
与 wish(希望)和 if only(要是...就好了)搭配,过去完成时表达对过去没有发生之事的遗憾。
- I wish I had taken that job offer.(我真希望当初接受了那份工作。)
- If only we had left earlier, we wouldn't have missed the flight.(要是我们早点出发就好了,就不会错过航班了。)
常见错误
过去完成时有时会被过度使用或使用不足。以下指导将帮助你找到正确的平衡。
| 错误 | 正确写法 | 原因 |
|---|---|---|
| When I arrived, the train left. | When I arrived, the train had left. | 火车在到达之前就开走了,需要用过去完成时。 |
| She had went to school. | She had gone to school. | 应使用过去分词 gone,而非过去式 went。 |
| I had finished and had gone home and had eaten dinner. | I had finished work earlier, so I went home and ate dinner. | 不要过度使用过去完成时;只对最早的动作使用。 |
| Had you went there before? | Had you been there before? | 使用正确的过去分词。 |
| I wish I studied harder. | I wish I had studied harder. | 对过去的遗憾在 wish 后面需要用过去完成时。 |
关键说明: 你不需要对每一个过去的动作都使用过去完成时。只有当你需要明确一个动作发生在另一个动作之前时才使用它。如果两个过去的动作按照时间顺序描述,且顺序很明显,一般过去时通常就够了。
- She got dressed, ate breakfast, and left for work.(她穿好衣服,吃了早餐,然后去上班了。——按时间顺序,一般过去时就可以。)
- She had eaten breakfast before she left for work.(她出去上班前已经吃过早餐了。——强调顺序,过去完成时使时间线更清晰。)
练习例句
注意过去完成时如何在每个句子中确定较早的动作:
- By the time the ambulance arrived, the patient had already recovered.(救护车到达时,病人已经恢复了。)
- I had never seen snow before I visited Canada.(在去加拿大之前,我从没见过雪。)
- She told me she had already submitted the application.(她告诉我她已经提交了申请。)
- The children were hungry because they hadn't eaten since morning.(孩子们很饿,因为他们从早上开始就没吃东西。)
- If we had booked the hotel earlier, we would have gotten a better room.(如果我们早点订酒店的话,就能得到更好的房间了。)
- Had you met him before the conference?(在会议之前你见过他吗?)
- He realized he had forgotten his passport when he arrived at the airport.(他到达机场时才意识到自己忘带护照了。)
- I wish I had learned to play the piano when I was young.(我真希望年轻时学过弹钢琴。)
快速总结
- 使用场景: 在另一个过去动作之前完成的动作、在过去某时刻之前的持续状态、间接引语、第三类条件句、对过去的遗憾。
- 肯定句: 主语 + had + 过去分词。
- 否定句: 主语 + had not (hadn't) + 过去分词。
- 疑问句: Had + 主语 + 过去分词?
- 关键信号词: before, after, by the time, when, already, yet, never, for, since, until, as soon as。
- 切记: 过去完成时需要一个过去的参照时间点。它很少单独使用,几乎总是与一般过去时的动词一起出现来建立时间线。
过去完成时一开始可能看起来很难,但它的逻辑其实很简单:将一个过去事件放在另一个之前。试着写一些关于你一天生活的短叙述,标记哪些事件先发生来进行练习。一旦你内化了"had + 过去分词表示较早动作"的模式,你就能准确、自然地使用这个时态了。

