比较
过去完成进行时与过去完成时的用法很相近,它通常表示某个过去正在进行的动作或状态,持续到过去某个时刻,还未完成,一直持续到之后才结束。
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.表示重复动作的现在/过去完成进行时
我们也可以用完成进行时形式来表示现在或过去经常重复的动作
注意:过去完成进行时和过去完成时类似,需要有过去这一时间点。



















