過去完成進行時的結(jié)構(gòu):had been +動詞ing。表示相對過去的某個時刻來說已經(jīng)對現(xiàn)在有直接影響并且還在進行的動作。很少用在否定句中,多以過去完成時代替。

特別含義?
尚未完成:
He had been writing the novel.(他沒有完成它)
企圖:
He had been studying the meaning of this proverb.(他一直在努力學(xué)習(xí)它)
未得結(jié)果:
We had been studying what our enemy had said.(但我們不能理解)
最近情況:
He had been quarrelling with his wife.(近來)
情緒:
What had he been doing?(不耐煩)
特點編輯
這種時態(tài)很少用在否定句中,而多以過去完成時代替:
  He had not practised English for many years.(普通說法)
  He had not been practising English for many years.(少見)
這種時態(tài)還可用在said,supposed等引起的間接引語中,代替現(xiàn)在完成進行時:
  He said:“I have been speaking to John."= He said that he had been speaking to John.
  He thought:“She was watching me when I passed.”= He thought that she had been watching him when he had passed.
過去完成進行時經(jīng)常與現(xiàn)在完成進行時混淆。
現(xiàn)在完成進行時 (The present perfect progressive) 由 have/has been +-ing 分詞構(gòu)成;
  過去完成進行時( The past perfect progressive tenses )由 had been +-ing 分詞構(gòu)成.
現(xiàn)在/過去完成進行時的用法:
A. 在某段時間內(nèi)一直進行的動作用現(xiàn)在完成進行時來強調(diào)動作在某段時間里的持續(xù)性.動作通常有"現(xiàn)在"的結(jié)果,要根據(jù)上下文來確定到"現(xiàn)在"為止,動作是否還在繼續(xù)進行.同樣,過去完成進行時表示在過去更早時間內(nèi)進行的動作,并對過去某一時刻產(chǎn)生結(jié)果。
B.表示重復(fù)動作的現(xiàn)在/過去完成進行時
我們也可以用完成進行時形式來表示現(xiàn)在或過去經(jīng)常重復(fù)的動作
注意:過去完成進行時和過去完成時類似,需要有過去這一時間段
用法編輯
表示過去某一時間之前一直進行的動作。
  過去完成進行時表示動作在過去某一時間之前開始,一直延續(xù)到這一過去時間。和過去完成時一樣,過去完成進行時也必須以一過去時間為前提。
  I had been looking for it for days before I found it.這東西我找了好多天才找著的。
  They had only been waiting for the bus a few moments when it came.他們只等了一會兒車就來了。
表示反復(fù)的動作。
  He had been mentioning your name to me.他過去多次向我提到過你的名字。
  You had been giving me everything.你對我真是有求必應(yīng)。
常用于間接引語中
  The doctor asked what he had been eating.醫(yī)生問他吃了什么。
  I asked where they had been staying all those days.我問他們那些天是呆在哪兒的。
接具有“突然”之意when句。
  I had only been reading a few minutes when he came in.我剛看了幾分鐘他就進來了。
  She'd only been reviewing her lessons for a short while when her little sister interrupted her.她溫習(xí)功課才一會兒,她妹妹就打斷她了。
  I had been sleeping when my friend telephoned me.我正在睡覺時,我的朋友給我打電話。
時態(tài)比較編輯
過去完成進行時與過去完成時的用法很相近,它通常表示某個過去正在進行的動作或狀態(tài),持續(xù)到過去某個時刻,還未完成,一直持續(xù)到之后才結(jié)束
He had been waiting for two weeks. He was still waiting.(有一個表示一段時間的狀語)
他已經(jīng)等了兩個星期。他還在等。
Up to that time he had been translating those books.直到那時他一直在翻譯這些書。
He had been writing the letter till two o'clock.他一直在寫那封信到兩點鐘。
He was thirty years old.He had been gambling since he was ten.(He was still gambling at thirty.)
他三十歲。他從十歲開始就一直在賭博。(三十歲的他仍然賭博。)
He had been standing there in the sun.(沒有時間狀語)
他一直站在太陽底下。
He had been thinking about his marriage.(沒有時間狀語)
他一直在對他的婚姻思考。
不過這種時態(tài)并不一定表示這個過去動作將持續(xù)下去:
He came back at seven.He had been waiting for her two hours.(At seven he did not wait any more.)
他在七點回來了。他等了她兩個小時。(在七點時,他不想再等了。)
He stopped swimming.He had been swimming for the last three hours.他停止了游泳。他已經(jīng)在過去的三小時內(nèi)游泳。