第1个回答 2013-05-17
1. 现在完成进行时和现在完成时皆可表示动作对现在产生的结果,但前者所表示的结果是直接的,而后者所表示的则是最后的结果。如:
We have been cleaning the classroom.(a)
We have cleaned the classroom.(b)
(a)句可译为“我们打扫教室来着。”其直接结果可能是:我们身上都是灰。
(b)句可以译为“我们把教室打扫过了。”其结果是:现在教室很清洁,可以用了。
又,(a)句表示教室刚刚打扫过,(b)句则可能表示教室是昨天打扫的。
2. 现在完成进行时有时有延续性,现在完成时往往没有。如:
They have been widening the road.(a)
They have widened the road.(b)
(a)句的意思是他们在加宽马路,但尚未完工。
(b)句的意思则是已完工了。有时现在完成时有延续性(如一些属于持续体的动词),但无临时性质。如:
Mr. Smith has been living in London since 1978.(a)
Mr. Smith has lived in London since 1979.(b)
(a)句有“史密斯先生在伦敦久居”的含义,(b)句则没有。
3. 现在完成进行时往往表示动作在重复,现在完成时则常常不带重复性。如:
Have you been meeting her lately?(a)
Have you met her lately?(b)
(a)句有“经常相会”之意,
(b)句则没有。(b)句如与often,every day等时间状语连用,当然也表示动作在重复。
4. 现在完成进行时比较生动,有时含有明显的感情色彩,而现在完成时往往只说明一个事实,一种影响或结果,平铺直叙,没有什么感情色彩可言。如:
What have you been doing?(a)
What have you done?(b)
(a)句表示惊异。(b)句只是一个问题。
下面还有一例,颇为有趣:
Who's been eating my apples?(a)
Who's eaten my apples?(b)
(a)句有强烈的感情色彩,表示愤怒不满,
(b)句只是希望回答的一个问题。
又,(a)句兼有进行时态,所以有“苹果未被全部吃光”的意思,
(b)句是完成时态,说明“苹果一个不剩了”。本回答被网友采纳
第2个回答 2013-05-18
(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. 这个问题已研究了五天。