5.过去完成时
5.1 表示在过去某一时刻以前已经完成的动作,或者表示一个动作在另一个过去动作之前就已经完成,其构成是 had + 过去分词。
例如:We had just had our breakfast when Tom came in.
当汤姆进来的时候,我们已经吃完早饭了。
By the end of last year they had turned out 5000 bicycles.
到去年年底为止,他们生产了 5000 辆自行车。
5.2 过去完成时常用于以下固定句型:
no sooner + 过去完成时 + than + 过去式
例如:No sooner had I gone out than he came to see me.
我刚出去,他就来找我。
by (the end of ) + 过去时间,主句中谓语动词用过去完成时
例如:The experiment had been finished by 4 o'clock yesterday afternoon. 这个实验昨天下午四点前就完成了。
6.将来完成时
表示在将来某一时刻将完成或在另一个未来的动作发生之前已经完成的动作。常与将来完成时连用的时间状语有: by (the time / the end of ) + 表示将来时间的短语和句子; before (the end of ) + 表示将来时间的词语或句子; when, after 等加上表示将来动作的句子等,其构成是: will / be going to do sth
例如:By this time tomorrow you will have arrived in Shanghai.
明天这个时候你就可以到上海了。
I shall have finished this composition before 9 o'clock.
我将在 9 点前完成这篇作文。
When we get on the railway station, the train will probably have left.
当我们到火车站的时候,火车可能已经离开了。
7.现在完成进行时
完成进行时是现在完成时的强调形式,表示动作从过去某一时间开始,一直延续到现在,可能还要继续下去,通常与表示一段时间的状语连用,如:for hours, since this morning 等,其构成是 have/has + been + 现在分词。
例如:I have been looking for my lost book for three days, but I still haven't found it.
我已经花了三天的时间找我丢失的书,但还没有找到。
[注意]: 现在完成进行时与现在完成时的区别
7.1.二者都可以表示动作的延续,区别在于:前者更强调动作的延续性,可以说是后者的强调形式。
例如:We have been living here for ten years.( 强调还要继续住下去 )
We have lived here for ten years.
7.2.在无时间状语的情况下,前者表示动作仍在进行,而后者则表示动作在过去已结束。
例如:The students have been preparing for the exam.( 还在进行 )
The students have prepared for the exam.( 已经结束 )