现在完成进行时与现在完成时的区别
英语的现在完成进行时表示某动作从过去某个时间开始,一直延续到现在,并且还有可能持续下去。这个是大家在中学时期就知道的,今天,小编为同学们带来了相当丰富的与英语现在完成进行时的相关语法,一起来看看吧!
1. 现在完成时强调动作的完成,而现在完成进行时强调动作的延续,因此,表示动作的完成,只能用现在完成时,而不能用现在完成进行时。如:
He has changed his idea. 他改变了想法。
2. 在表示动作的延续时,虽然既可用现在完成时,也可用现在完成进行时,但现在完成进行时强调动作的进行。因此在需要明确表示动作还要持续下去时,应用现在完成进行时。如:
We have been studying here for two years. 我们在这儿已经学习了两年了。
3. 在许多情况下,现在完成时表示动作已经完成,而现在完成进行时却并非如此。如:
He has cleaned the window. 他把窗户擦干净了。(动作已完成)
He has been cleaning the window. 他一直在擦窗户。(动作不一定完成)
4. 有些静态动词只能用于现在完成时,一般不能用于现在完成进行时。如:
I’ve known him for many years. 我认识他有许多年了。
The war has lasted for a long time. 这场战争持续了很长时间。
5. 有少数动词(如live, work, teach, study等)用两种时态都可以,意思差别不大。如:
I’ve lived [been living] here for 30 years. 我在这儿住了30年了。
How long have you worked [been working] here? 你在这里工作多久了?
6. 现在完成时与现在完成进行时的相通性:在表达一个从过去开始而现在仍在继续或刚刚结束的动作时,
某些动词既可以用现在完成时,也可以用现在完成进行时,如 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.
例题:Tom ______ in the library every night over the last three months.
A. works B. worked C. has been working D. had been working
分析:C。over the last three months 的意思是“在过去的三个月期间”,这类时间状语通常通常与现在完成时或现在完成进行时连用,四个选项中只有C符合此要求。又如:
Food and drink culture in Britain is surely changing, has surely changed over the last two decades. 在英国,饮食文化肯定正在不断地发生着改变,并且在过去二十年中肯定已发生过不少变化。
怎么样,看完了小编给大家准备的语法知识,有没有感觉收获颇多呢?喜欢就收藏起来吧~