不常用时态
由于不常见,我们把过去将来完成时、将来完成进行时和过去将来完成进行时归纳到一节来讲。
过去将来完成时:
过去将来完成时构成:should / would have done sth.
过去将来完成时用法:
1、 过去将来完成时表示在过去将来某一时间以前发生的动作,并往往会对过去将来某一时间产生影响。
We hoped that she would have got the plan ready before we came back. 我们希望她能在我们回来之前把计划做好。
He said he would let me have the book as soon as he had read it. 他说书一看完就借给我。
2、 过去将来完成时还常用在虚拟语气中,表示与过去的事实相反。如:
If I had seen him this anteroom, I would have told him about it. 今天下午我要是见到他,我会告诉他那件事的。
将来完成进行时
形式:will/shall have been+现在分词用于第一人称,而 will have been+现在分词用于其他人称。
用法:正如将来完成时一样,它通常与一个以by开头的时间短语连用:
By the end of this year he'll have been acting for thirty years.
到今年年底他当演员就满30年了。
将来完成进行时与将来完成时的关系和现在完成进行时与现在完成时的关系一样。即在以下情况下可以用将来完成进行时而不用将来完成时:
1、 动作本身就是连续的:
By the end of the month he will have been living/working/studying here for ten years.到了月底他在这里居住/工作/学习就满十年了。
2、 一种经常进行的动作被表示为连续的动作:
By the end of this month he will have been training horses/climbing mountains for twenty years.到了这个月底他驯马/登山就满 20年了。
但是如果提到所驯马匹或所攀登的山峰的数目,或用任何方式把动作分割为一次又一次的动作,就必须用将来完成时:
By the end of the month he will have trained 600 horses/climbed 50 mountains.到本月底,他驯服的马就有600匹/攀登的山峰就有50座了。
过去将来完成进行时:
构成:should have been doing , would have been doing
例:They said that by the end of the following month, the project would have been being worked for 3 years. (他们说到第二个月底为止,这项工程就已经不停地进行了3年了。)