沪江英语 > 英语时态 > 过去完成进行时的用法讲解

过去完成进行时表示在过去较早的时间内进行的动作,并对过去某一刻的动作或状态产生结果。过去完成进行时由had been加现在分词构成。

1.1 过去完成进行时的构成
肯定句:主语 + had been + 现在分词...
疑问句:疑问代词/疑问副词 + had + 主语 + been + 现在分词...?

过去完成进行时

1.2 过去完成进行时的肯定句
句型:主语 + had been + 现在分词...
过去完成进行时的肯定句由“助动词had + been(been为be动词的过去分词) + 现在分词”构成:

She was tired. She had been working all day.她很累了。她整天都在工作。
When I first met Jane,she had been working in that school for10years.我第一次遇到简的时候,她已在那所学校干了10年了。

1.3 过去完成进行时的特殊疑问句
句型:疑问代词/疑问副词 + had + 主语 + been + 现在分词...?
过去完成进行时的特殊疑问句是将疑问代词/疑问副词置于助动词had之前(had的第一个字母无需大写),和一般疑问句差不多;这种语序是倒装语序。就主语提问时,将疑问代词或带有疑问限定词的名词词组置于助动词had之前,在句尾加问号;这种语序是陈述句语序:

How long had it been raining before you shut the window? 你关窗户之前雨下了多久了?

1.4 过去完成进行时的用法
1.表示过去某时以前持续的动作

过去完成进行时的主要特点与现在完成进行时的主要特点基本相似,只是时间推移到了过去:
I was tired that day,because I had been working all day.我那天累了,我干了一整天的活。
His eyes were red. It was obvious that he had been working too hard.他眼睛红了,显然是前一段时间他工作太紧张了。
过去完成进行时表示一个动作从过去某时开始,一直延续到另一个过去时刻,到那个时刻,该动作可能刚刚终止,也可能还在继续:
At last they got the information they had been expecting.最后他们得到了盼望得到的信息。(刚刚终止)
When I got home,I found that Jack had been working on his home-work.当我回家时,发现杰克在做作业。(可能还在继续)
过去完成进行时表示一个动作已经结束,但其结果仍影响到过去某一时刻:
It had been snowing for several days. The ground was all covered with snow.接连下了几天的雪,地上到处是积雪。
某些表示持续动作的动词如work(工作),teach(教授),study(学习),sing(演唱)等,在与表示一段时间的状语连用时,可用过去完成进行时和过去完成时,表示一个动作一直延续到过去某一时刻,但前者更强调动作的持续性和不间断性:
I'd been studying for2hours when he called.他打电话来的时候,我持续学习了两个小时。
I'd studied for2hours when he called.他打电话来的时候,我已经学习了两个小时了。

2.用于得出结论
过去完成进行时可以表示根据直接或间接的证据而得出结论:
His eyes were red. It was obvious that he had been working too hard.他的眼睛红了,显然前一段时间他工作太紧张了。

3.用于间接引语
They said they had been having a match with Class One.他们说刚才和1班进行了一场比赛。
这个时态的用法可以下图表示:

过去完成进行时的用法讲解