Cuando llegué a casa, mi hermano ya había preparado la cena.我到家的时候,我哥哥已经把晚饭做好了。

过去完成时是"过去中的过去":它标记的是一个发生在另一个过去事件之前的事件,而这另一个事件你也会在同一句话里提到。在上面的例子里,晚饭做好是在说话人到家之前,两个过去的动作,过去完成时说明了哪一个先发生。

简而言之: había, habías, había, habíamos, habíais, habían 加过去分词。用的是和现在完成时一样的分词,区别只是这里的haber用的是未完成过去时,而不是现在时。

如何构成

和现在完成时一样,过去完成时也是"haber加过去分词"的结构,唯一不同的是这里的haber用未完成过去时,而不是现在时:

主语 haber(未完成过去时) + 分词
yo había hablado
tú habías hablado
usted / él / ella había hablado
nosotros/as habíamos hablado
vosotros/as habíais hablado
ustedes / ellos / ellas habían hablado

过去分词本身遵循和现在完成时相同的规则:规则变化以 -ado / -ido 结尾,加上一组相同的不规则分词(hecho, dicho, visto, puesto, escrito, vuelto, abierto, muerto, roto, cubierto),而且分词形式永远不会因性、数而变化。

Ya había terminado cuando me llamaste.(你打电话给我的时候,我已经做完了。)Nunca había visto algo así.(我以前从没见过这样的事。)

说明哪个事件先发生

过去完成时的全部作用就是在两个过去时刻之间建立先后顺序:用过去完成时表示的事件先发生,而简单过去时(或未完成过去时)的动词通常用来确定它相对比较的那个更晚的时刻。

  • Cuando el tren llegó, nosotros ya habíamos comprado los billetes.(火车到达的时候,我们已经买好了票。)买票在火车到达之前。
  • Había estudiado español dos años antes de mudarse a México.(她搬去墨西哥之前已经学了两年西班牙语。)
  • Me di cuenta de que había olvidado las llaves.(我意识到自己忘带钥匙了。)

有两个词经常和过去完成时一起出现,因为它们都指向"在那另一个时刻之前已经如何":ya(已经)和todavía no / nunca(还没有/从未):

  • Cuando empezó la película, ya habíamos cenado.(电影开始的时候,我们已经吃过晚饭了。)
  • Todavía no habíamos llegado cuando empezó a llover.(开始下雨的时候,我们还没到。)

过去完成时与简单过去时、现在完成时的区别

这三个时态都描述已经完成的过去动作,但各自回答的是关于什么时候的不同问题:

  • 简单过去时(llegué)将事件呈现为已经完成;与过去完成时不同,它本身并不标示该事件发生在另一个过去参照点之前。
  • 现在完成时(he llegado)把一个过去的动作和现在,也就是说话的这一刻,联系起来。
  • 过去完成时(había llegado)把一个过去的动作和另一个过去的时间点联系起来,而不是和现在联系。

用同一个动词比较这三者:Llegué a las ocho只是说某人几点到的;He llegado tarde是说某人迟到了,是相对于现在这一刻说的;Ya había llegado cuando empezó la reunión则把到达这件事放在另一个过去事件(会议开始)之前,完全没有对现在做任何陈述。

汉语没有和这个完全对应的语法形式,通常靠"已经""之前"这类词以及上下文来表示一个过去事件发生在另一个过去事件之前,而不是靠动词本身的变化,这一点和西班牙语用独立的时态形式来表达不同。

常见错误

  • ❌ Cuando llegué, ella ya llegó. → ✅ Cuando llegué, ella ya había llegado.(需要用过去完成时来明确表示更早发生的事件相对于更晚的过去参照点,两个简单过去时在这里让先后顺序变得不清楚,甚至会让人以为两件事是同时发生的)
  • ❌ Habemos comido antes de salir. → ✅ Habíamos comido antes de salir.(过去完成时需要haber的未完成过去时形式habíamos,而不是现在时形式)
  • ❌ Había comida mucho. → ✅ Había comido mucho.(在这个复合时态里,过去分词永远不会和主语保持一致,始终是以 -o 结尾的固定形式)
  • ❌ La había vista antes. → ✅ La había visto antes.(同样是分词固定不变的规则:始终是visto,永远不是vista,不管la指的是什么)

小测验

为每句话填入括号里动词的过去完成时形式。

  1. Cuando salí de casa, ya ___ (empezar) a llover.
  2. Nosotros nunca ___ (probar) sushi antes de ese viaje.
  3. Ella dijo que ___ (terminar) el proyecto la semana anterior.
  4. ¿___ (tú, ver) esa película antes de que la recomendara?
  5. Cuando llegamos al cine, la película ya ___ (empezar).
查看答案
  1. Cuando salí de casa, ya había empezado a llover.   2. Nosotros nunca habíamos probado sushi antes de ese viaje.   3. Ella dijo que había terminado el proyecto la semana anterior.   4. ¿Habías visto esa película antes de que la recomendara?   5. Cuando llegamos al cine, la película ya había empezado.

要点回顾

  • 过去完成时是haber的未完成过去时形式(había, habías, había, habíamos, habíais, habían)加过去分词,用的分词和现在完成时相同。
  • 它标记的是发生在另一个过去事件之前的过去事件,而不是发生在现在之前,这正是它和现在完成时的区别所在。
  • Ya和todavía no / nunca经常出现在过去完成时旁边,指向在那另一个过去时刻之前已经做过,或者还没做的事情。
  • 过去分词在这个结构里永远不会改变形式,始终固定,以 -o 结尾,不管主语是谁。