现在完成时( The Present Perfect Tense)是过去的动作或状态持续到现在并且已经完成,对现在造成的影响,可能持续发生下去。在英语时态中,“时”指动作发生的时间,“态”指动作的样子和状态。
一、表示影响或结果
该用法的现在完成时表示一个过去发生的动作在过去已经完成,并且这个动作对现在仍有影响或结果,同时说话者强调的或感兴趣的就是这个影响或结果,如汉语说“他已离开这个城市了”,其中的“离开”肯定发生了,它对现在的影响或结果就是“他现在已不在这个城市了”;又如汉语说“有人把窗户打破了”,显然“打破窗户”这一动作发生在过去,并且在过去已经完成了,但说话人强调的重点是打破窗户对现在的影响——窗户现在仍是破的。
如:He has been away from the city.他已离开这个城市。
即表示从过去某个时间直到现在的这个时间范围内不断重复发生的动作或情况,并且这个不断重复的动作有可能继续下去,也有可能到现在就结束。如:
How often have you seen her again?你隔多长时间见她一次?
二、表示持续
该用法的现在完成时表示一个过去发生的动作或开始的状态在过去并未完成或结束,而是一直持续到现在,并且有可能继续下去(也可能到此结束),如汉语说“他在我们学校教书已有30年了”,显然“他在我们学校教书”是从30年前开始,并且一直教到现在,已经持续了30年;又如汉语说“自上个星期以来他一直很忙”,显然“忙”是从上个星期开始的,并且这一“忙”就一直忙到现在。
如:He has taught in our school for 30 years.他在我们学校教书已有30年了。
注意:当现在完成时表示持续时,谓语动词不能使用非延续性动词(短暂性动词),而应该使用延续性动词,即换一种说法
如:He has had this book for two months.他买这本书已有两个月了。
同一般现在时可以表示将来一样,现在完成时也可以在时间状语从句里表示将来。
如:When you have rested, I’ll show you the garden.等你休息好之后,我领你看我们的花园。