过去完成时表示某件事发生在另一个过去事件之前——它在时间轴上标记更早的那个动作。

  • When I arrived at the party, Maria had already left. (她先离开,然后我才到)
  • He had never seen snow before he moved to Canada.
  • By the time we got there, the concert had already started.

句型始终相同:had + 动词的过去分词had 从不变化——所有主语都用 had。

**快速公式:**主语 + had + 过去分词 → She had finished. They hadn't seen it. Had you ever been there?

如何构成过去完成时

Had 对所有主语都一样——这里没有 was / were 的区分。

主语 had 过去分词 例句
I / you had worked I had worked there for years.
he / she / it had gone She had gone home.
we / they had seen They had never seen it before.

过去分词与现在完成时(have worked,have gone,have seen)中使用的形式相同。不规则动词的过去分词——gone、seen、written、spoken——就是不规则动词表中的第三栏。想查看常见不规则动词的三种形式(原形、过去式、过去分词),可以参考 Past simple: irregular verbs

口语中,助动词 had 常在主语代词后缩写为 'dShe*'d** already left. We**'d** never met. I**'d** just arrived.* 在简短回答中,或需要强调时,要使用完整形式:"Had she left?" — "Yes, she had."

核心用法:标记更早的事件

当提到两个过去事件时,过去完成时标记发生的那个。较晚的事件通常使用一般过去时。

  • When the film started, we had already found our seats. (找到座位 → 电影开始)
  • She called after I had left the office. (我离开 → 她打来电话)
  • They were exhausted because they had worked all day. (工作在先 → 疲惫在后)

汉语常用"已经、之前、先……再……"或语序来表示先后,不靠动词变形;英语则常用过去完成时标记"更早发生的动作"。看到"到某个过去时间为止已经……"时,要想到 had + 过去分词,不要只用一般过去时。

常与过去完成时连用的时间连词

这些连词可以帮助说明两个过去事件之间的时间关系。含有过去完成时的从句通常表示较早的事件;另一个从句通常用一般过去时:

连接词 例句
when When I arrived, he had already eaten.
after After she had locked the door, she left.
before She had never cooked a meal before she left home.
by the time By the time we got there, the concert had started.
as soon as As soon as I had explained the plan, they agreed.

afterbefore 本身已经表明顺序,因此两个一般过去时也是正确的:✅ After she locked the door, she left. 两种表达都对;过去完成时只是让顺序更明确。

alreadyjustneverstillyet 连用

这些副词与过去完成时搭配十分自然:

  • I had already finished when you called.
  • She had just left when he arrived.
  • He had never tried sushi until that evening.
  • They still hadn't arrived by midnight.
  • The train hadn't left yet when we reached the platform.

语序:alreadyjust 最常见的位置是 had + 副词 + 过去分词——✅ had already finished,✅ had just lefthad finished already 也可以)。neverhad + never + 过去分词——had never tried。否定句中的 stillstill + hadn't + 过去分词——still hadn't arrived;较正式的说法是 had still not arrived

forsince 连用

过去完成时还可以与 forsince 连用,表示某件事在过去某个时间点之前已经持续了多长时间:

  • She had lived there for ten years before she moved.
  • They had known each other since school.

否定

not 放在 had 和过去分词之间。缩略形式 hadn't 在日常口语中最常用:

  • I hadn't met her before that day.
  • They hadn't finished when the bell rang.
  • She had not expected that reply.(更为强调)

疑问句

had 移至主语前面:

  • Had you seen that film before?
  • Had she left by the time you arrived?
  • What had he said before you walked in?

简短回答:Yes, I had. / No, I hadn't.

过去完成时还是一般过去时——什么时候可以不用过去完成时?

afterbefore 等连接词已经表明顺序时,两个一般过去时同样自然且正确:

  • After she locked the door, she left.
  • After she had locked the door, she left.

过去完成时在叙事中途"回溯"时最为有用——就像闪回:

He sat down and thought about the morning. He had argued with his boss. He had spilled coffee on the report. Everything had gone wrong.

如果这里不用过去完成时,时间线就会不清楚。

常见错误

  • When I arrived, she left already. → ✅ When I arrived, she had already left. (较早的事件需要用过去完成时)
  • I had went to bed early. → ✅ I had gone to bed early. (需用过去分词,而非过去式)
  • She had never saw the sea before. → ✅ She had never seen the sea before.seen,不是 saw
  • They had finished the work yesterday.(独立句,没有后续事件)→ ✅ They finished the work yesterday. 如果有后续事件,过去完成时是可以的:I checked on Tuesday — they had finished the work the day before.
  • After I had have dinner, I left. → ✅ After I had had dinner, I left.(或更自然地:After I had dinner, I left

练习检测

过去完成时还是一般过去时?

  1. By the time the taxi ____ (arrive), we ____ already ____ (miss) the train.
  2. She ____ (feel) much better after she ____ (sleep) for a few hours.
  3. ____ you ____ (ever / visit) Paris before that trip?
  4. He ____ (turn) off the computer and ____ (leave) the office.
显示答案
  1. arrived(较晚事件 → 一般过去时)… had already missed(较早事件 → 过去完成时)
  2. felt(较晚)… had slept(较早)
  3. Had you ever visited(过去某时间点之前的经历 → 过去完成时)
  4. turnedleft(均用一般过去时——简单的先后顺序,无需特别标记哪个在前)

重点总结

  • 过去完成时 = had + 过去分词——与现在完成时使用相同的过去分词,但助动词是 had,而非 have / has
  • Had 从不变化:对所有主语都一样。
  • 用于两个过去事件中较早的那个——在另一个事件发生时已经完成的动作。
  • 常见搭配:when、after、before、by the time、already、just、never、still、yet
  • forsince 连用,表示在过去某时间点之前某事已持续了多长时间。
  • afterbefore 引导时,先后顺序本身已经比较清楚——两个一般过去时同样正确,但过去完成时会让顺序更明确。
  • 口语中,had 常缩写为 'dI'd eaten,she'd gone,we'd never met。在简短回答中使用完整形式:Yes, I had.