比較
過去完成進行時與過去完成時的用法很相近,它通常表示某個過去正在進行的動作或狀态,持續到過去某個時刻,還未完成,一直持續到之後才結束。
He had been waiting for two weeks. He was still waiting.(有一個表示一段時間的狀語)
他已經等了兩個星期。他還在等。
Up to that time he had been translating those books.
直到那時他一直在翻譯這些書。
He had been writing the letter till two o'clock.
他一直在寫那封信到兩點鐘。
組成結構
主語+had+been +doing something
現在完成時是一個與過去時間和現在時間都有關系的時态因此具有這樣特征的時間狀語都可以與現在完成時連用具體情況有以下幾種 1. 與表示一段時間的狀語連用如“ for +時間段”“since+時間點”。兩種結構多數可互相轉換 針對其提問時 都用 how long e.g since three days ago =for three days 。
例如:We have lived in this city for more than 40 years.
我們在這個城市裡已經生活了 40 多年。
We have lived in this cit y since 1958.
我們從 1958 年起就住在這個城市裡。
since 在現在完成時中·意為自... 以後自...以來時間狀語常用since加一個過去的時間點或for加一段時間或by加一個現在時間。
特點
這種時态很少用在否定句中,而多以過去完成時代替:
He had not practised English for many years.(普通說法)
He had not been practising English for many years.(少見)
這種時态還可用在said,supposed等引起的間接引語中,代替現在完成進行時:
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.
過去完成進行時經常與現在完成進行時混淆。
現在完成進行時 (The present perfect progressive) 由 have/has been+-ing分詞構成;
過去完成進行時(The past perfect progressive tenses)由 had been+-ing分詞構成.
現在/過去完成進行時的用法:
A.在某段時間内一直進行的動作用現在完成進行時來強調動作在某段時間裡的持續性.動作通常有"現在"的結果,要根據上下文來确定到"現在"為止,動作是否還在繼續進行.同樣,過去完成進行時表示在過去更早時間内進行的動作,并對過去某一時刻産生結果。
B.表示重複動作的現在/過去完成進行時
我們也可以用完成進行時形式來表示現在或過去經常重複的動作
注意:過去完成進行時和過去完成時類似,需要有過去這一時間點。



















