现在完成时和现在完成进行时的区别

3个回答

  • (1) 现在完成时可以表示一个已经完成的动作,而现在完成进行时则表示一个正在进行的动作:

    I have read the book.我读过这本书.

    I have been reading the book.我一直在读这本书.

    【注】有少数动词(如work,study,live,teach,stay等)在表示持续一时间时用这两种时态含义差不多(只是用现在完成进行进更强调动作的持续性):

    How long have you worked [been working] here?你在这儿工作多久了?

    I’ve lived [been living] here since 1988.自1988年以来我就一直住在这儿.

    (2) 现在完成时通常只陈述事实,而现在完成进行时还可表示一种感****彩:

    I have waited for two hours.我等了两小时.(陈述事实)

    I have been waiting for two hours.我等了两个小时.(等得好辛苦)

    (3) 现在完成进行时通常用来谈论较短暂的动作或情况,若要谈论时间延续较长的动作或情况或永久性情况,则通常用现在完成时:

    He has lived in Paris.他(一直)住在巴黎.

    He has been living in Paris.他(目前)住在巴黎.(表暂时性)

    (4) 不用于进行时态的动词通常也不用于现在完成进行时,但它们可以用于现在完成时:

    I’ve only known her for two day.我认识她刚刚两天.

    They’ve been married for twenty years.他们结婚已二十年了.

    The war has lasted for a long time.这场战争持续了很长时间.

    (5) 现在完成进行时不用于被动语态,若要用可用现在完成时的被动语态代替:

    The house has been painted for a month.这房子已漆了一个月.

    The problem has been studied for five days.这个问题已研究了五天.