一、過去完成進(jìn)行時是一種比較抽象的時態(tài),學(xué)習(xí)它需要理解整個句子所處的語境和時間。過去完成進(jìn)行時表示一個動作從過去某時開始,一直延續(xù)到另一個過去時刻,到那個時刻,該動作可能剛剛終止,也有可能還在繼續(xù)。例如:
1. We had been waiting for him for about an hour by the time he came. 當(dāng)他來的時候,我們等他有一個小時了。(動作剛剛終止)
2. How long had it been raining after he left home?
在他離開家后,雨下了有多長時間了?(動作可能還在進(jìn)行)

二、過去完成進(jìn)行時需要注意的幾點用法:
1. 過去完成進(jìn)行時所表示的動作與過去的時間的關(guān)系,可以用時間狀語來表示,也可以通過上下文來表示。例如:
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.
她說她放學(xué)后一直在聽收音機(jī)。

2. 過去完成時可以表示一個動作已經(jīng)結(jié)束,但其結(jié)果仍然影響到過去的某一時刻。例如:
It had been raining and the street was still wet.
天一直在下雨,街道仍然很濕。

3. 像 work, study, stay, sing, teach等延續(xù)性動詞與表示一段時間的時間狀語連用時,用過去完成進(jìn)行時可以表示一個動作一直延續(xù)到過去某一時刻,通常強(qiáng)調(diào)動作的持續(xù)性和不間斷性。例如:
She had been studying for two hours when her classmate came to visit her. 當(dāng)她的同學(xué)來看她的時候,她學(xué)習(xí)有兩個小時了。

4. 過去完成進(jìn)行時與過去進(jìn)行時的區(qū)別。過去進(jìn)行時主要表示過去某時的一個動作正在進(jìn)行。例如:
1. I was writing a letter when she came to see me.
當(dāng)她來看我時我正在寫信。
2.I had been writing a letter for two hours by the time she came to see me.
當(dāng)她來看我的時候,我已經(jīng)寫了兩個小時的信了。

5. 過去完成進(jìn)行時與過去完成時的不同。過去完成時表示過去某時間前已經(jīng)發(fā)生的動作或情況,這個過去的時間可以用by,before等介詞短語或一個時間狀語從句來表示;或者表示一個動作在另一個過去動作之前已經(jīng)完成。例如:
1. They had just had breakfast when Tom came in.
湯姆來時,他們剛吃過早飯。
2. They had been having breakfast for ten minutes when Tom came in.
湯姆來時,他們已經(jīng)吃了十分鐘的早飯了。