时态 – 4 完成 进行时
时态 – 4 完成 进行时
1. 现在 完成 进行时
表示动作从过去某一时间开始,一直持续到现在,或者刚刚终止,或者可能仍然要继续下去。
形式:
- I / we / they have been + 动词的现在分词
- He / she / it has been + 动词的现在分词
例句:
-
表示一个在过去开始而在最近刚刚结束的行动,如:
Ann is very tired. She has been working hard.
Why are your clothes so dirty? What have you been doing? -
表示一个从过去开始但仍在进行的行动,如:
It has been raining for two hours. (现在还在下)
Jack hasn’t been feeling very well recently.(Jack直到现在还感觉不舒服) -
表示一个从过去开始延续到现在,可以包括现在在内的一个阶段内,重复发生的行动,如:
She has been playing tennis since she was eight. -
现在完成时强调动作行为的结果、影响,而现在完成进行时只强调动作行为本身,如:
Tom’s hands are very dirty. He has been repairing the car.
The car is going again now. Tom has repaired it.
注意:
现在完成时有否定结构、而现在完成进行时没有否定结构。
现在完成时态可表示做完的时期以及已有的经验、但现在完成进行时不可以。
现在完成进行时的否定结构:
在当代英语中,现在完成进行时有时也可用否定结构。如:
Since that unfortunate accident last week, I haven’t been sleeping at all well. 自从上周发生了那次不幸事故之后,我一直睡得很不好.
He hasn’t been working for me and I haven’t has that much contact with him. 他并没有给我工作过,我和他没有过那许多接触。
否定句构成: 主语+has/have+not+been+现在分词
一般疑问句构成: Have/has+主语+been+现在分词+其他
2. 过去 完成 进行时
表示一个动作从过去某时开始,一直延续到另一个过去时刻,到那个时刻,该动作可能刚刚终止,也有可能还在继续。
形式:
had been + V-ing形式
例句:
-
过去完成进行时所表示的动作与过去的时间的关系,可以用时间状语来表示,也可以通过上下文来表示。例如:
By the end of last month they had been working here for about ten days. 到上个月为止,他们在这里工作大约有十天了。
She said that she had been listening to radio after school. 她说她放学后一直在听收音机。 -
过去完成时可以表示一个动作已经结束,但其结果仍然影响到过去的某一时刻。例如:
It had been raining and the street was still wet. 天一直在下雨,街道仍然很湿。 -
像 work、study、stay、sing、teach等延续性动词与表示一段时间的时间状语连用时,用过去完成进行时可以表示一个动作一直延续到过去某一时刻,
通常强调动作的持续性和不间断性。例如:
She had been studying for two hours when her classmate came to visit her. 当她的同学来看她的时候,她学习有两个小时了。 -
过去完成进行时与过去进行时的区别。过去进行时主要表示过去某时的一个动作正在进行。例如:
I was writing a letter when she came to see me. 当她来看我时我正在写信。
I had been writing a letter for two hours by the time she came to see me. 当她来看我的时候,我已经写了两个小时的信了。 -
过去完成进行时与过去完成时的不同。过去完成时表示过去某时间前已经发生的动作或情况,
这个过去的时间可以用by,before等介词短语或一个时间状语从句来表示;
或者表示一个动作在另一个过去动作之前已经完成。例如:
They had just had breakfast when Tom came in. 汤姆来时,他们刚吃过早饭。
They had been having breakfast for ten minutes when Tom came in. 汤姆来时,他们已经吃了十分钟的早饭了。
3. 将来 完成 进行时
1.表示某种状况一直持续到说话人所提及的时间。
2.表示动作一直延续到将来某一时间。是否继续下去,要视上下文而定。这个时态常和表示将来某一时间的状语连用。
形式:
- will/shall have been+现在分词用于第一人称
- will have been+现在分词用于其他人称。
例句:
-
By the end of this year he’ll have been acting for thirty years.
到今年年底他当演员就满30年了。 -
动作本身就是连续的:
By the end of the month he will have been living/working/studying here for ten years.
到了月底他在这里居住/工作/学习就满十年了。 -
一种经常进行的动作被表示为连续的动作:
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座了
4. 过去 将来 完成 进行时
过去将来完成进行时表示从过去某时间开始一直延续到过去未来某一时间的动作,常与由介词by等引导的表示到过去未来的某时的时间副词连用。
动作是否继续下去,视上下文而定。
形式:
- 由should/would have been + v-ing构成;
- 否定形式should/would+not have been + v-ing;
- 疑问形式是将should/would提前。
例句:
-
He said that by the end of the spring term he would have been studying English for three years.
他说到春季(即下)学期末,他将学了三年英语了。 -
He told me that by the end of the year. he would have been living there for thirty years.
他告诉我,到年底他在那里住了有30年了。
现在完成进行时与现在完成时的区别
- 现在完成时强调动作的完成,而现在完成进行时强调动作的延续,
因此,表示动作的完成,只能用现在完成时,而不能用现在完成进行时。如:
He has changed his idea. 他改变了想法。
- 在表示动作的延续时,虽然既可用现在完成时,也可用现在完成进行时,
但现在完成进行时强调动作的进行。因此在需要明确表示动作还要持续下去时,应用现在完成进行时。如:
We have been studying here for two years. 我们在这儿已经学习了两年了。
- 在许多情况下,现在完成时表示动作已经完成,而现在完成进行时却并非如此。如:
He has cleaned the window. 他把窗户擦干净了。(动作已完成)
He has been cleaning the window. 他一直在擦窗户。(动作不一定完成)
- 有些静态动词只能用于现在完成时,一般不能用于现在完成进行时。如:
I’ve known him for many years. 我认识他有许多年了。
The war has lasted for a long time. 这场战争持续了很长时间。
- 有少数动词(如live, work, teach, study等)用两种时态都可以,意思差别不大。如:
I’ve lived [been living] here for 30 years. 我在这儿住了30年了。
How long have you worked [been working] here? 你在这里工作多久了?
- 现在完成时与现在完成进行时的相通性:在表达一个从过去开始而现在仍在继续或刚刚结束的动作时,
某些动词既可以用现在完成时,也可以用现在完成进行时,
如expect, hope, learn, lie, live, look, rain, sleep, sit, snow, stand, stay, study, teach, wait, want, work等。
如:
你学习英语多久了?
正:How long have yon learnt English?
正:How long have you been learning English?
他已经睡了十个小时了。
正:He has slept for ten hours.
正:He has been sleeping for ten hours.
微信赞赏
支付宝赞赏