1)现在完成进行时和现在完成时皆可表示动作对现在产生的结果,但前者所表示的结果是直接的,而后者所表示的则是最后的结果.如:
We have been cleaning the classroom.(a)
We have cleaned the classroom.(b)
(a)句可译为“我们打扫教室来着.”其直接结果可能是:我们身上都是灰.(b)句可以译为“我们把教室打扫过了.”其结果是:现在教室很清洁,可以用了.又,(a)句表示教室刚刚打扫过,(b)句则可能表示教室是昨天打扫的.
Be careful! John has been painting the door.(a)
John has painted the door.(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)但现在完成进行时并不总是具有临时的性质,如:
My mother 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)句只是一个问题.
Have you been waiting long?(a)
Have you waited long?(b)
(a)句较(b)句生动.又,(a)句比较口语化.
I have been wanting to meet you for long.(a)
I have long wanted to meet you.(b)
(a)句比(b)句更亲切,更有礼貌.
Recently Mary has been doing her work regularly.(a)
Recently Mary has done her work regularly.(b)
(a)句显然是在表扬玛丽.(b)只说明一个事实.
下面还有一例,颇为有趣:
Who's been eating my apples?(a)
Who's eaten my apples?(b)
(a)句有强烈的感情色彩,表示愤怒不满,(b)句只是希望回答的一个问题.又,(a)句兼有进行时态,所以有“苹果未被全部吃光”的意思,(b)句是完成时态,说明“苹果一个不剩了”.
过去完成时
1) 概念:表示过去的过去
过去完成时:即过去的过去所发生的事情!
其构成是主语+had +过去分词.
那时以前 那时 现在
2) 用法
a. 在told, said, knew, heard, thought等动词后的宾语从句.
She said (that) she had never been to Paris.
b. 状语从句
在过去不同时间发生的两个动作中,发生在先,用过去完成时;发生在后,用一般过去时.
When the police arrived, the thieves had run away.
c. 表示意向的动词,如hope, wish, expect, think, intend, mean, suppose等,用过去完成时表示"原本……,未能……"
We had hoped that you would come, but you didn't.
3) 过去完成时的时间状语before, by, until , when, after, once, as soon as.
He said that he had learned some English before.
By the time he was twelve, Edison had begun to make a living by himself.
Tom was disappointed that most of the guests had left when he arrived at the party.
过去完成时的用法(2)
表示过去某一动作之前已经完成的动作,常与由when,before等连词引导的时间状语从句连用.
When I woke up it had already stopped raining.
我醒来的时候雨就已经停了.
I hadn't learned any English before I came here.
我来这儿之前没学过英语.
常用于引导这类状语从句的连词有:when当……的时候,as soon as一…就,
before在……之前,after在……之后,until直到,等.
过去完成时的用法(3)
用于宾语从句或间接引语中
I wondered who had taken the umbrella without permission.
我想知道谁不经允许就把雨伞拿去.
He told me that he had passed the exam.
他告诉我他已通过考试.
过去完成时的用法(4)
某些动词的过去完成时表示一个打算要做却没有做成的事.
I had intended to come over to see you last night, but someone called and I couldn't get away.
昨晚我本打算来看你,但有人来找,脱不开身.
We had hoped to catch the early bus, but found it was gone.
我们本希望搭早班车,却发现车已开了.
这类动词有:intend打算,hope希望,plan计划,mean预定,want想要,
think想要,等.
过去完成时的用法(5)
用于表示与过去事实相反的虚拟条件从句中
If you had come yesterday, you would have met him.
如果你昨天来的话,你就已经见到他的面了.
She would have come if she hadn’t been so busy.
要不是这么忙的话,她就已经来了.
It was given by him! But I didn't want to accept!
This kind of idea had never been thought about before yesterday!
She will have been left by you at this time of tomorrow.
The bycicle is being repaired by you!
第一个是一般过去时的被动语态.(一般现在时和一般将来时与其类似,只是be动词的区别罢了【即was/were与will be与is/are的区别)
第二个是过去完成时的被动语态.(现在完成时与其类似)
第三个是将来完成时的被动语态.
第四个是现在进行时的被动语态.但是,一般来说,这种情况在英语表达中是非常之少的.