过去完成时:规则、例句与用法指南

2025/06/01

过去完成时(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.(她出去上班前已经吃过早餐了。——强调顺序,过去完成时使时间线更清晰。)

练习例句

注意过去完成时如何在每个句子中确定较早的动作:

  1. By the time the ambulance arrived, the patient had already recovered.(救护车到达时,病人已经恢复了。)
  2. I had never seen snow before I visited Canada.(在去加拿大之前,我从没见过雪。)
  3. She told me she had already submitted the application.(她告诉我她已经提交了申请。)
  4. The children were hungry because they hadn't eaten since morning.(孩子们很饿,因为他们从早上开始就没吃东西。)
  5. If we had booked the hotel earlier, we would have gotten a better room.(如果我们早点订酒店的话,就能得到更好的房间了。)
  6. Had you met him before the conference?(在会议之前你见过他吗?)
  7. He realized he had forgotten his passport when he arrived at the airport.(他到达机场时才意识到自己忘带护照了。)
  8. 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 + 过去分词表示较早动作"的模式,你就能准确、自然地使用这个时态了。

相关语法指南

快速学英语

快速学英语