(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)句的意思则是已完工了.有时现在完成时有延续性(如一些属于持续体的动词),但无临时性质.如:
(3)但现在完成进行时并不总是具有临时的性质,如:
My moth!er has been teaching English for twenty years.(a)
My mother has taught English for twenty years.(b)
(a)句在此并无临时性质,但较口语化.(b)句则较为正式.又,(a)句表示动作现在仍在继续.并将延续下去,(b)句的动作是否延续下去,须由上下文决定,但在一般情况下都是延续下去的.
(4)现在完成进行时往往表示动作在重复,现在完成时则常常不带重复性.如:
Have you been meeting her lately?(a)
Have you met her lately?(b)
(a)句有“经常相会”之意,(b)句则没有.(b)句如与often,every day等时间状语连用,当然也表示动作在重复.
(5)现在完成进行时比较生动,有时含有明显的感情色彩,而现在完成时往往只说明一个事实,一种影响或结果,平铺直叙,没有什么感情色彩可言.如:
What have you been doing?(a)
What have you done?(b)
(a)句表示惊异.(b)句只是一个问题.