English.guru
返回

过去完成时:免费讲解「过去的过去」

Had 加过去分词——什么时候真正需要它,什么时候一般过去时就够了,以及它如何理清混乱的句子。

其他所有的过去时态都把你固定在过去的某一个时间点上。过去完成时能让你从这个时间点往回退一步,讲述在那之前发生的事情。

  • When I arrived, the train had left.

两个过去发生的事件,单凭语法本身就能看出先后顺序:火车先开走了。

构成方式

had + 动词的过去分词(第三形式)

Had 在所有人称中都一样——没有例外,不需要做任何一致性变化。

肯定句 I had finished. · She had gone.
否定句 We hadn't started.
疑问句 Had you seen it before?
缩写形式 I'd finished. · They'd left.

缩写形式要小心:这里的 I'd 是 I had,但在别的地方也可能是 I would。区分的关键是后面的词:I'd finished(过去分词 → had),I'd finish(动词原形 → would)。

为什么需要过去完成时

让先后顺序不产生歧义

  • When I arrived, the train left. —— 我先到,然后火车才开走。我很可能赶上了。
  • When I arrived, the train had left. —— 火车更早就开走了。我迟到了。

同样的词,结果却截然相反。这正是这个时态存在的意义。

解释过去某个情形的原因

  • She was upset because she had failed the exam.
  • The ground was wet — it had rained overnight.

一般过去时描述情形本身,过去完成时描述导致这个情形、发生得更早的原因。

与 already、just、never、by the time 连用

这些词会从过去的某个时间点向更早处回望,因此会带出过去完成时。

  • By the time we got there, they had already eaten.
  • It was the best film I had ever seen.
  • I had never been abroad before that trip.

什么时候不需要过去完成时

这正是学习者最容易过度使用的地方。如果先后顺序已经很清楚——凭借 before、after,或者单纯的常理判断——用一般过去时听起来完全自然。

  • ✅ I had dinner and then I went to bed.(顺序已经很明显)
  • ✅ After she left, I called him.(after 已经说明了谁在先)

如果一段叙述里每一句都用过去完成时,这是刚学会这个时态的典型标志。母语者只在时间线真正需要往回跳跃的地方才使用它——通常一段话里出现一两次,而不是每一句都用。

间接引语中的过去完成时

当你转述过去说过的话时,一般过去时通常会往前推一步:

  • "I lost my keys." → He said he had lost his keys.
  • "We have finished." → They said they had finished.

无论是原来的现在完成时还是一般过去时,在间接引语中都会合并成过去完成时,因为再往前已经没有更早的时态可用了。

对话中的用法

迟到了

A: Why didn't you come to the party?

B: I did, but by the time I got there everyone had gone home.

A: Really? It had only just started when I left.

B: Well, I'd been at work until ten. I'd never finished that late before.

这里每一个过去完成时,标记的都是发生在讨论中的那个时间点之前的事情。简单的一般过去时——came、got、left——则维持着主要的时间线。

自我检测

下面的测验考察你能否分清事件的先后顺序,以及哪些情况下一般过去时才是更好的选择。

自我检测:测试:过去完成时 →