Skip to content

过去完成进行时 (Past Perfect Continuous)

past -------- past point -------- now -------- future

            ↑
在过去某时间点之前一直在进行的动作

这种时态用于描述在过去某一时间点之前已经开始并持续进行的动作。

语法形式

过去完成进行时的构成是:主语 + had been + 动词的现在分词(V-ing)

  • 肯定句:主语 + had been + 动词的现在分词

    • I had been working.
    • She had been studying.
  • 否定句:主语 + had not been + 动词的现在分词

    • I had not been working.
    • She had not been studying.
  • 疑问句:Had + 主语 + been + 动词的现在分词?

    • Had you been working?
    • Had she been studying?

应用场景

1. 表示持续的过去动作

用于描述在过去某个时间点之前已经持续了一段时间的动作。

示例:

  • I had been working for three hours when she called. (当她打电话来的时候,我已经工作了三个小时。)
  • They had been living in Paris for ten years before they moved to London. (在搬到伦敦之前,他们在巴黎已经住了十年。)

2. 解释过去某一时刻的状态

用于解释过去某一时刻的状态是由之前持续的动作造成的。

示例:

  • I was very tired because I had been running. (我很累,因为我一直在跑步。)
  • The ground was wet. It had been raining. (地面是湿的。之前一直在下雨。)

3. 强调动作的持续性

用于强调动作在过去持续的时间长度。

示例:

  • She had been teaching English for 20 years before she retired. (在退休之前,她已经教了20年英语。)
  • How long had you been waiting when the bus finally arrived? (当公交车终于到达时,你已经等了多久?)

与其他时态的对比

过去完成进行时 vs 过去完成时

过去完成进行时强调动作的持续性和过程,而过去完成时强调动作的完成和结果。

示例:

  • I had been painting the wall (强调过程,可能还没完成)
  • I had painted the wall (强调结果,已经完成)

过去完成进行时 vs 现在完成进行时

过去完成进行时是以过去某个时间点为参照点,而现在完成进行时是以现在为参照点。

示例:

  • I have been working here for three years (现在完成进行时 - 到现在为止)
  • I had been working there for three years when I quit (过去完成进行时 - 到过去某个时间点为止)

常见用法和例句

1. 使用时间表达

常与 for, since, before, when, by the time 等时间表达搭配使用:

  • He had been studying for six hours when I saw him.
  • By the time I arrived, they had been waiting for two hours.

2. 表示原因和结果

用于解释过去某个状态或情况的原因:

  • He was out of breath because he had been running.
  • Her eyes were red because she had been crying.

3. 描述持续的活动

用于描述在过去持续进行的活动:

  • The children had been playing in the garden all morning.
  • We had been discussing the problem for hours before we found a solution.