一、过去完成进行时是一种比较抽象的时态,学习它需要理解整个句子所处的语境和时间。过去完成进行时表示一个动作从过去某时开始,一直延续到另一个过去时刻,到那个时刻,该动作可能刚刚终止,也有可能还在继续。例如:
1. We had been waiting for him for about an hour by the time he came. 当他来的时候,我们等他有一个小时了。(动作刚刚终止)
2. How long had it been raining after he left home?
在他离开家后,雨下了有多长时间了?(动作可能还在进行)

二、过去完成进行时需要注意的几点用法:
1. 过去完成进行时所表示的动作与过去的时间的关系,可以用时间状语来表示,也可以通过上下文来表示。例如:
1. By the end of last month they had been working here for about ten days. 到上个月为止,他们在这里工作大约有十天了。
2. She said that she had been listening to radio after school.
她说她放学后一直在听收音机。

2. 过去完成时可以表示一个动作已经结束,但其结果仍然影响到过去的某一时刻。例如:
It had been raining and the street was still wet.
天一直在下雨,街道仍然很湿。

3. 像 work, study, stay, sing, teach等延续性动词与表示一段时间的时间状语连用时,用过去完成进行时可以表示一个动作一直延续到过去某一时刻,通常强调动作的持续性和不间断性。例如:
She had been studying for two hours when her classmate came to visit her. 当她的同学来看她的时候,她学习有两个小时了。

4. 过去完成进行时与过去进行时的区别。过去进行时主要表示过去某时的一个动作正在进行。例如:
1. I was writing a letter when she came to see me.
当她来看我时我正在写信。
2.I had been writing a letter for two hours by the time she came to see me.
当她来看我的时候,我已经写了两个小时的信了。

5. 过去完成进行时与过去完成时的不同。过去完成时表示过去某时间前已经发生的动作或情况,这个过去的时间可以用by,before等介词短语或一个时间状语从句来表示;或者表示一个动作在另一个过去动作之前已经完成。例如:
1. They had just had breakfast when Tom came in.
汤姆来时,他们刚吃过早饭。
2. They had been having breakfast for ten minutes when Tom came in.
汤姆来时,他们已经吃了十分钟的早饭了。