现在完成时是英语中一个很重要的时态,也是很容易弄错的一个时态。归纳起来,现在完成时共有四种主要用法,现分别解说如下:
一、现在完成时表示影响
该用法的现在完成时表示一个过去发生的动作在过去已经完成,并且这个过去发生并完成的动作对现在有影响或结果,同时说话者强调的或感兴趣的就是这个影响或结果,如汉语说“他已离开这个城市了”,其中的“离开”肯定发生了,它对现在的影响或结果就是“他现在已不在这个城市了”;又如汉语说“有人把窗户打破了”,显然“打破窗户”这一动作发生在过去,并且在过去已经完成了,但说话人强调的重点是打破窗户对现在的影响——窗户现在仍是破的。如:
He has left the city. 他已离开这个城市。(结果:他不在这个城市。)
Someone has broken the window. 有人把窗户打破了。(结果:窗户仍破着。)
I have lost my pen. 我把钢笔丢了。(结果:我现在无钢笔用。)
He has finished his work. 他把工作做完了。(结果:他现在可以做其他的事了。)
二、现在完成时表示持续
该用法的现在完成时表示一个过去发生的动作或开始的状语在过去并未完成或结束,而是一直持续到现在,并且有可能继续下去(也可能到此结束),如汉语说“他在我们学校教书已有30年了”,显然“他在我们学校教书”是从30年前开始,并且一直教到现在,已经持续了30年;又如汉语说“自上个星期以来他一直很忙”,显然“忙”是从上个星期开始的,并且这一“忙”就一直忙到现在。如:
He has taught in our school for 30 years. 他在我们学校教书已有30年了。
He has been busy since last week. 自上个星期以来他一直很忙。
He has worked for us ever since he left school. 他离开学校以后就一直为我们工作。
三、现在完成时表示重复
即表示从过去某个时间直到现在的这个时间范围内不断重复发生的动作或情况,并且这个不断重复的动作有可能继续下去,也有可能到现在就结束。如:
How often have you seen her? 你隔多少见她一次?
My father has always gone to work by bike. 我父亲一向骑车上班。
四、现在完成时表示将来
同一般现在时可以表示将来一样,现在完成时也可以在时间状语从句里表示将来。如:
I’ll wait until he has written his letter. 我愿等到他把信写完。
When you have rested, I’ll show you the garden. 等你休息好之后,我领你看我们的花园。

引用地址:http://www.yygrammar.com/Article/201112/2725.html