现在完成时是由助动词“have(has)+过去分词”构成的,其规则动词的过去分词构成与过去式相同,不规则动词的过去分词则需要加强记忆.现将其主要用法小结如下:
1.表示过去发生的某一动作对现在造成的影响或结果.例如:
I have just cleaned my clothes. 我刚洗过衣服.
("洗衣服"是发生在过去的动作,对现在造成的结果是"衣服干净了")
2.表示过去已经开始,持续到现在的动作或状态,也可以表示实质可能继续下去的动作或状态.这时往往与表示一段的时间状语连用.例如:
I have been here for just over two years. ???我到这里才两年多.
He has worked here since 1989. ???从1989年, 他就在这里工作.
3.现在完成时属于现在时态范围,因此,不能和表示过去的时间状语连用。
如:yesterday, last night, two weeks ago等, 但可以和never, ever, already, yet, just, for…, since …等连用. 例如:
Have you finished your work yet? 你已经完成你的工作了吗?
I have never heard that before. ??过去,我从未听说过那件事.
4.be的现在完成时态。
1) 表示一种状态,表示从过去已经开始持续到现在,要与表示一段的时间状语连用. 例如:
There has been a factory near No. 14 Middle School for several years.
十四中学附近有家工厂,已经有几年了.
2) 表示某人刚从某地回来.例如:
Where have you been? I have been to the library.?? 你到哪里去了? 我到图书馆去了。
3)后加地点,表示某人曾经到过某地. 例如:
Have you ever been to West Hill Farm? ???你曾经到过西山农场吗?
但是"have(has) gone to+地点"则表示已去了某地,不在说话者所在的地方.例如:
Where is Kate She has gone to Beijing with her father.? 凯特在哪里 她和她父亲一起去北京了.
5.瞬间动词的现在完成时。
瞬间动词也叫短暂性动词或终止性动词。这种动词是指它们动作很短暂,开始也就意味着结束,它们不能表示延续的意义。这些词可以用于现在完成时,但只能表示过去的事对现在的结果或影响,而不能表示延续性的事情,就是说不能跟表示一段的时间状语连用,但可以用其它方式来表示(可在中文中却不管是否延续,都可以用同一个词来说,比如说“已经买了”和“买了两周了”,都用了“买”,英语就不行了)。象这样的词有:buy, sell, begin, start, leave, come, go, borrow, lend, return, die, join等. 例如:
火车离开半小时了.
误:The train has left for half an hour.
正:The train has been away for half an hour.
正:The train left half an hour ago.
正:It has been half an hour since the train left.
正:It is half an hour since the train left.
但是,其完成时的否定式可与表示一段的时间状语连用,表示一种状态.例如:
I haven't received a letter from my father for two months.
我已两个月没有收到我爸爸的信了.
He hasn't come here for a week.
他一个星期没有来这里了.
现在完成时要点剖析
一、现在完成时与一般过去时的用法比较
现在完成时表示过去的动作一直延续到现在甚至会继续下去或表示过去的动作对现在造成的影响;一般过去时表示动作发生的时间在过去.试比较:
The plane has arrived . 飞机已经来了.(说明现在的情况:飞机在这儿)
The plane arrived a quarter ago. 飞机是一刻钟以前来的.(强调动作发生的时间在过去)
I have taught here for fifteen years. 我在这儿已经教了十五年.(表示十五年前的动作一直延续到现在,还可能会继续.)
二、短暂性动词与时间段的关系
短暂性动词在肯定句,疑问句中不能与时间段连用,这些动词是:become, begin, buy, borrow, arrive, come, die, fall, finish, get to know, go, join, leave, marry等.为了表述这种意思,我们常用相应的延续性动词have,keep等或短语"be+名词(形容词,位置副词,介词短语)"来代替短暂性动词, 如:become →be, begin→have 或 be on, borrow→keep, buy→have, come(go, arrive, get) →be here/there/in…,die→be dead, fall asleep(ill) →be asleep(ill), finish→be over, get to know→know, join→be in …(be a member of … ),
leave→ be away (from…), marry →be married等;也可以仍用原短暂性动词,用句型"It is … since从句(从句中用一般过去时)"或用"一般过去时+ …ago"这一结构来表述延续性的动作或状态. 如:
他入党五年了.
He has been in the Party for five years.
He has been a Party member for five years.
It is five years since he joined the Party.
He joined the Party five years ago .
电影开始五分钟了.
The film has been on for five minutes.
It is five minutes since the film began
The film began five minutes ago.
但在否定句中,短暂性动词可以与时间段连用.如:
I haven't bought the bike for a year. 我买这辆自行车还不到一年.
She hasn't come here for an hour.
她来这儿还没有一个小时.
三、have been in 与have been to 的用法比较
1."have been +in+地点名词"或"have been + 位置副词"的意思是"在某地呆过久",如:Mr. Green has been in China for many years. 格林先生在中国呆过好多年.
I have been here since I began to work. ??我工作以来一直呆在这儿.
2."have been + to +地点名词"意思是"曾经到 过某地(多少次)". 如:
Miss Brown has been to Japan twice. ??布朗小姐到日本去过两次.
Have you ever been here before ??你以前到过这吗
四、just, lately, recently是完成时的时间状语,just now 有a moment ago 之意,是一般过去时的时间状语.如:
The train has just arrived. ???火车刚到.
Did you see Joan just now? 你刚才看到琼了吗?
Have you heard from your family lately/recently???? 你最近收到家人的来信了吗
五,in the past few years 意思是"过去几年来",可作现在完成时的时间状语;in the past意思是"在过去",常作一般过去时的时间状语. 如:
Great changes have taken place in my hometown in the past few years.
过去几年来,我的家乡发生了很大的变化.
Where did you work in the past? 你过去在哪里工作
六、even since then与from then on (after that)都有"打那以后"之意,前者是完成时的时间状语,后者常用作一般过去时的时间状语,如:
She's lived here ever since then. ???打那以后,她一直住在这.
I didn't hear of Jim from then on/after that. ???打那以后,我就没有吉姆的消息.
七、before泛指"以前"时,可用于现在完成时中;ago表示"现在的一段时间以前",是一般过去时的时间状语.如:
I've never been to Japan before. ???我以前没去过日本.
She went to Japan a year ago. ???她一年前去了日本.
八、ever和never也是现在完成时常见的时间状语.前者意思是"曾经",多见于疑问句或否定句中;后者意思是"从来没有",表示全部否定.如:
"Have you ever seen the film " "No. I have never seen it."
"你曾经看过这部影片吗 " "没有, 从来没看过."
Nobody in our class has ever been there. ???我们班没有人去过那.
九、so far(到目前为止), these days(这些天) 也是现在完成时常见的时间状语.如:
So far, no man has travelled farther than the moon. 到目前为止, 还没有人到月球以外旅行.
现在完成时是英语中一个很重要的时态,也是很容易弄错的一个时态。归纳起来,现在完成时共有四种主要用法,现分别解说如下:
一、现在完成时表示影响
该用法的现在完成时表示一个过去发生的动作在过去已经完成,并且这个过去发生并完成的动作对现在有影响或结果,同时说话者强调的或感兴趣的就是这个影响或结果,如汉语说“他已离开这个城市了”,其中的“离开”肯定发生了,它对现在的影响或结果就是“他现在已不在这个城市了”;又如汉语说“有人把窗户打破了”,显然“打破窗户”这一动作发生在过去,并且在过去已经完成了,但说话人强调的重点是打破窗户对现在的影响——窗户现在仍是破的。如:
He has left the city. 他已离开这个城市。(结果:他不在这个城市。)
Someone has broken the window. 有人把窗户打破了。(结果:窗户仍破着。)
I have lost my pen. 我把钢笔丢了。(结果:我现在无钢笔用。)
He has finished his work. 他把工作做完了。(结果:他现在可以做其他的事了。)
二、现在完成时表示持续
该用法的现在完成时表示一个过去发生的动作或开始的状语在过去并未完成或结束,而是一直持续到现在,并且有可能继续下去(也可能到此结束),如汉语说“他在我们学校教书已有30年了”,显然“他在我们学校教书”是从30年前开始,并且一直教到现在,已经持续了30年;又如汉语说“自上个星期以来他一直很忙”,显然“忙”是从上个星期开始的,并且这一“忙”就一直忙到现在。如:
He has taught in our school for 30 years. 他在我们学校教书已有30年了。
He has been busy since last week. 自上个星期以来他一直很忙。
He has worked for us ever since he left school. 他离开学校以后就一直为我们工作。
三、现在完成时表示重复
即表示从过去某个时间直到现在的这个时间范围内不断重复发生的动作或情况,并且这个不断重复的动作有可能继续下去,也有可能到现在就结束。如:
How often have you seen her? 你隔多少见她一次?
My father has always gone to work by bike. 我父亲一向骑车上班。
四、现在完成时表示将来
同一般现在时可以表示将来一样,现在完成时也可以在时间状语从句里表示将来。如:
I’ll wait until he has written his letter. 我愿等到他把信写完。
When you have rested, I’ll show you the garden. 等你休息好之后,我领你看我们的花园。
希望能够帮到你!