现在完成时是对过去的动作或者状态持续到现在并且已经完成,对现在造成的影响,有可能持续发展下去。构成结构是:主语+助动词(have/has)+动词的过去分词(have/has done)。
一、现在完成时的基本结构
肯定句:主语+have/has+动词的过去分词+其他
否定句:主语+have/has+not+动词的过去分词+其他
一般疑问句:Have/Has+主语+动词的过去分词+其他
特殊疑问句:特殊疑问词+一般疑问句(have/has+主语+过去分词+其他)
二、现在完成时的用法
1. 现在完成时用来表示过去已经完成的动作对现在造成影响或后果。也就是说,动作或状态发生在过去但它的影响现在还存在,强调的是现在。
例句:I have already posted the photo.
我已经邮寄出了照片。
与此种用法连用的时间状语时一些模糊的过去时间状语,如already(肯定句句中), yet(否定句/疑问句句尾), just、before、recently、still、lately、never等。
2. 现在完成时也可用来表示动作或状态发生在过去某一时刻,持续到现在并且有可能会继续持续下去。
例句:He has lived here since 1978.
自从1978年以来,他一直住在这儿。(动作起始于1978年,一直住到现在,可能还要继续住下去。)
此种用法常与for(+时间段),since(+时间点或过去时的句子)连用。谓语动词必须是延续性动词。
三、现在完成时的用法注意事项
1. have been(to)与have gone( to)的区别:have been(to)表示“去过某地(现在已经回来了)”,可用于各人称;have gone(to)表示“去某地了(说话时某人不在当地)”,常用于第三人称,前者可与once、never、several times等连用,后者则不能。
例句:They have been to Beijing twice.
他们去过北京两次。
2. 如单纯表示一段时间,或强调一段时间,虽有since一词,也不必用完成时。
例句:It is two years since his father died.
=His father has been dead for two years.
他父亲去世已有三年了。
3. 终止性动词现在完成时的否定式,已变成一种可以延续的状态,因此可以和表示一段时间的状语连用。
例句:I haven't left here since 1997.
自从1997年以来,我一直没有离开过这儿。