英语中的现在完成时和现在完成进行时有何区别?急

1个回答

  • 现在完成时

    现在完成时表示发生在过去的动作一直持续到现在或对现在造成的影响或结果.这种时态的特点是动作发生在过去,但强调其目前的作用.现在完成时可与just,before,now,today,this morning,until(till,up to) now,so far,in the past(last) few years,all day,since 1990,for a long time,recently,lately,always,often,sometimes,ever,never,once,three times,how long等时间状语连用.但不可与yesterday,last week,when等连用.

    与一般过去时相比,一般过去时只与过去时间有关,而现在完成时特别强调发生在过去的动作对现在的影响或结果.比较:

    He’s lived here since 1960.从1960年以来他一直住在这儿.(“居住”这个动作从1960年一直持续在目前,可能刚刚结束,也可能继续持续下去)

    He lived here.过去他住在这儿.(现在情况不详)

    He lives here.他住在这儿.(长久动作,不问何时开始,不管何时结束)

    注意:

    1.It is the first(second...) time +that-从句,that-从句习惯用现在完成时.

    It is the second time that I have been here.这是我第二次到这儿来.

    2.主句+since从句(从句谓语动词是过去时)中的主句通常用现在完成时.

    I haven’t heard from him since he left for Shanghai.自从他去了上海我就一直没收到他的来信.

    3.非延续性动词的完成时不可与时间段状语连用.

    他去世已经三年了.

    (误)He has died for three years.

    (正)He has been dead for three years.

    (正)Three years has passed since he died.

    (正)He died three years ago.

    4.现在完成时不可与表示确切时间的过去时间状语连用,也不可与when连用,但可与how long连用.

    5.have gone to意为“去了某地(现在已经不在说话的地方)”,have been to意为“去过某地(现在已经不在该地)”.

    He has gone to Beijing.他去了北京(现在不在这儿).

    He has been to Beijing three times.他去过北京三次(现在不在北京).

    现在完成进行时

    现在完成进行时表示发生在过去的动作到目前已经部分完成,并将继续进行下去.这种时态的特点是强调已部分完成的动作仍将继续进行下去.现在完成进行时通常和时间段状语连用,如for two days,since early morning,these few days等.

    与现在完成时相比,现在完成进行时明确表示已部分完成的动作仍将继续进行.比较:

    I have been writing letters for an hour.整整一个小时我一直在写信.(仍将继续写下去)

    I have written letters for an hour.我已经写了一个小时的信了.(已经结束或仍有可能继续下去)

    注意:

    现在完成进行时也可表示到说话时刚刚结束的动作或到说话时刻前一直重复的动作.这种用法通常含有“动作持续时间之长,工作如此辛苦”等感情色彩.

    I have been waiting for you two hours.我已经等了你两个小时了.(你怎么才来?让我等了这么久)

    I have been telephoning to you several times in two days.这两天我一直在给你打电话.(你怎么不接呢?)

    I have been painting my house for a whole day.一整天我一直在粉刷我的房子.(工作实在辛苦)

    拜托你上课能不能认真听一听以后上机也不要看别的东西