将来完成时的基本概念和形式
将来完成时(future perfect tense)表示在将来某一时间之前所完成的动作。它的形式由shall(第一人称)或will(第二、三人称)加have再加过去分词所构成。美国英语一律用will。
将来完成时的用法
将来完成时表示在将来某一时间以前已经完成的动作。如:
By the end of this week, I shall have finished the book.到本周末,我将读完这本书。
By this time tomorrow they will have repaired the machine.明天这时候,他们将修好这台机器。
The children will have gone to sleep by the time We get home.到我们回家时,孩子们将已睡了。
When you come tonight at eight o'clock,I shall have written my paper.你今晚八点钟来时,我将会写完文章了。
By next year our teacher will have taught English for twenty years.到明年我们的老师将已教二十年英语了。
[英语语法手册]完成进行时态
过去将来完成时
过去将来完成时(past future perfect tense)表示在过去将来某一时间以前已经完成的动作。它的形式由should(第一人称)或Would(第二、三人称)加have再加过去分词构成。美国英语一律用Would。
用法举例:
He said he would have paid me back the money by the end of the week.他说将在周末前还我钱。
We told him that we should have returned to the camp by four o'clock.我们告诉他我们将于四点前回营地。
I hoped she would have finished the work before I got back.我希望她在我回来之前做完那活儿。
种类
完成进行时有现在完成进行时、过去完成进行时、将来完成进行时和过去将来完成进行时四种。
现在完成进行时的用法
1)表示动作从过去某一时间开始一直延续到现在。现在这个动作可能已经终止,也可能仍然在进行着。如:
I have been waiting for you for two hours.我等了你两个小刊(动作不再延续下去)
It has been raining for three hours.雨已经下了三小时了。(动作可能延续)
He has been working on the paper all day.他整天都在写论文(动作是否延续下去,由上下文决定。)
How long have you been learning English? --I have been learning English for two years.你英语学多久了?--我们学了两年了。(动作可能延续)
Why are you so dirty - I've been playing football.你身上怎么这样脏?--我刚才踢足球了。(动作不再延续下去)
2)有些不能用现在进行时态的动词,如be,have like,love,know,see,hesr等,同样也不能用现在完成进行时,而只能用现在完成时。如:
She has been ill for a long time.她已经病了好久了。
I have not seen you for ages.我好久没有见到你了。