1) 現(xiàn)在完成時表示一件已發(fā)生的事,這事往往與現(xiàn)在情況有聯(lián)系:
I've lost my key. 我的鑰匙丟了。(因此無法進屋)
She's gone to town. 她進城去了。(現(xiàn)在在城里)
I've got a letter from my aunt. 我收到姨母一封信。(因此知道她的近況)
The lift has broken down. 電梯壞了。(因此我們得爬樓梯)
Peter has had a bad car crash. 彼得出了嚴重車禍。(可能送醫(yī)院了)
I've washed my car. 我洗過車了。(因此很干凈)
He hasn't come back yet. 他還沒回來。(我們還在等他)
Have you had your supper yet?——Yes, I have. 你吃晚飯了嗎?——吃過了。(不餓了)
2) 常可和just, already, yet, recently, over這類副詞連用:
He's just left. 他剛走。
Has he phoned you yet?——No, not yet. 他給你打電話了嗎?——還沒有。
Jane has rung me up three times this morning already. 簡今天早上已給我打過三次電話。
The rain has already stopped. 雨已經(jīng)停了。
Have you ever talked to him about it? 你曾和他談過這事嗎?
Have you seen Lewes recently? 你最近見到過路易斯嗎?
I have never broken my word. 我從未違背過自己的諾言。
He still hasn't finished his work. 他的工作還沒干完。
There have been some changes lately. 近來有些變化。
3) 也可和表示從過去某時到現(xiàn)在這段時間的狀語連用:
I haven't seen him today. 今天我沒見過他。
How many letters have you received this week? 這星期你收到多少封信?
They have turned out over 1,000 cars this month. 這個月他們生產(chǎn)了一千多輛汽車。
He has made several trips to Paris this year. 今年他去過幾趟巴黎。
I've seen little of her in the past few years. 過去幾年中我很少見到她。
So far he has done very well at school. 到現(xiàn)在為止他在學校表現(xiàn)很好。
Up to now, the work has been easy. 到現(xiàn)在為止,這工作還算容易。
4) 還常和for及since引導的狀語或與how long連用:
I haven't seen you for ages. 我好久沒見到你了。
He hasn't cleaned his room for months. 他有好幾個月沒打掃這房間了。
We've lived here for over ten years. 我們在這里住了十多年了。
I haven't seen her since June. 六月以來我就沒見過她。
He has worn glasses since his childhood. 他從小就戴眼鏡。
Has he written since he left home? 他離家之后來過信嗎?
How long have you known her? 你認識她多久了?
5) 也常常單獨使用不需任何狀語:
She has found a new job. 她找到了一份新工作。
We've sent some people to help them. 我們已派了幾個人去幫助他們。
We've put up thousands of tall buildings. 我們蓋起了數(shù)以千計的高樓。
Which side has won? 哪邊贏了?
They have taken the injured people to hospital. 他們把傷者送進了醫(yī)院。
I'm sorry, I've broken your cup. 對不起,我把你的杯子打破了。
I wonder if she's got well. 我不知道她是否已經(jīng)痊愈。
Who has taken my dictionary away? 誰把我的字典拿走了?
6) 這個時態(tài)還可表示持續(xù)到現(xiàn)在的狀態(tài):
How long has he been ill? 他病了多久了?
The strike has continued for several weeks. 罷工已持續(xù)了幾個星期。
He has lived here all his life. 他一輩子都住在這里。
We've been good friends since we were children. 我們從小就要好。
They have loved each other all these years. 這些年他們一直很恩愛。
I have never believed those theories. 我從不相信這些理論。
I have known them for many years. 我認識他們很多年了。
1) 這兩個時態(tài)都談已發(fā)生的事,主要差別是現(xiàn)在完成時表示的動作與現(xiàn)在有關系,或是對現(xiàn)在有影響,或談現(xiàn)在以前這一段時間里發(fā)生的事,而一般過去時單純談過去的事,與現(xiàn)在沒有聯(lián)系。因此凡是有過去時間狀語時,只能用過去時:
She was here a minute ago. 一分鐘之前她還在這里。
They gave it to me just now. 這是他們剛才給我的。
When did you come in? 你什么時候進來的?
I woke up at six. 我六點醒的。
凡是單純談過去的事,與現(xiàn)在毫無聯(lián)系時也多用過去時,試比較下面幾組句子:
2) 有時同一個動作,根據(jù)具體情況,可能需用不同的時態(tài),例如:
3) 有些動作(顯然是過去的動作),盡管沒有時間狀語,仍需用過去時:
Did you know that he was going to be married? 你知道他要結婚了嗎?
I didn't know you were in London too. 我不知道你也在倫敦。
When did you get back? 你什么時候回來的?
I heard you were coming to China this autumn. 我聽說你今年秋天要到中國來。
Why did you buy this? 你為什么買這個?
Did you see anything interesting at the exhibition? 在展覽會上你看到什么有趣的東西嗎?
Why did you get up so early? 你為什么起得這么早?
How did you like the show? 你覺得演出如何?
這時不宜用現(xiàn)在完成時。
1) have gone to和have been to的差別:
have gone to表示“到某地去了”,因此人還在那里:
She has gone to live abroad. 她到國外居住了。(她現(xiàn)在國外)
The kids have gone to the zoo. 孩子們到動物園去了。(他們在動物園)
Where has Mary gone? 瑪麗到哪里去了?(她在哪里?)
have been(to)表示“到(來)過某地”:
Where have you been?——I've been to the cinema. 你到哪兒去了?——我去看電影了。
Have you ever been to Hong Kong? 你到過香港嗎?
I've been to Europe several times. 我到歐洲去過幾次。
Who's been here? 誰來過這里?(人已不在)
Has she ever been in China? 她到過中國嗎?
后面還可跟不定式:
I've been to see my grandmother. 我去看我奶奶了。(現(xiàn)已回來)
She's been to do some shopping. 她出去買東西了。
2) 由since引導的從句中的時態(tài):
由since引導的從句一般用過去時(主句謂語用現(xiàn)在完成時):
We've been friends ever since we met at school. 自在學校相遇以來,我們一直是朋友。
Much has changed since I was there last time. 自我上次到那里之后發(fā)生了許多變化。
當表示“有多少時間”時,主句謂語可用一般現(xiàn)在時:
It's two years since I left home. 我離家已經(jīng)兩年了。
How long is it since you came here last time? 自你上次來這里之后已經(jīng)多久了?
在從句中有時可用現(xiàn)在完成時,特別是動詞為be時:
I have been terribly busy since I've been back. 我回來之后一直忙得要命。
She has seldom been out since she has been ill. 她生病以來很少出去。
It's some time since I've wirtten to her. 有相當時間我沒給她寫信了。
3) 在時間及條件從句中需用現(xiàn)在完成時代替將來完成時:
I'll wirte a preface when I've finished the book. 書寫完后我將寫一篇序。
Don't go away until I have finished speaking to your father. 在我和你父親談完話之前不要走開。
I'll tell them after you have left. 你走后我將告訴他們。
If he hasn't got up, don't wake him. 如果他還沒起床,不要叫醒他。
Don't rush him unless he's already got everything ready. 除非他把一切都準備好了,否則不要催促他。
4) 和time一道用的情況:
This (It) is the first time I have seen a pagoda. 這是我首次看到寶塔。
It is only the second time he's been in a palace. 這只是他第二次進皇宮。
That's the third time he's quarrelled with her in a week. 這是一星期中他第三次和她吵架。
This is the fourth time she's been out with him. 這是她第四次和他一起外出。
在下面句型中也可用現(xiàn)在完成時:
This is the best tea I have ever drunk. 這是我喝過的最好的茶了。
This is the most interesting book I have ever read. 這是我看過的最有意思的書。
This is the easiest job I have ever had. 這是我干過的最容易的工作。
It's the first good meal I've had for ages. 這是好久以來我吃過的第一頓好飯。
5) have got的特殊用法:
have got在形式上是現(xiàn)在完成時,在意思上卻和have相同:
Have you got (=Do you have) a timetable? 你有時刻表嗎?
She hasn't got any relations. 她沒有什么親屬。
I've got only another three minutes. 我只有三分鐘了。
What have you got against me? 你對我有什么意見?
I've got a bad headache. 我頭疼得很厲害。
I've got a cold. 我著涼了。
You've got a new dress on. 你穿新衣服了。
I've got a few things to see to. 我有幾件事要辦。
6) have got to和have to意思相同:
have got to和have to意思一樣,表示“不得不”:
You've got to be careful. 你得當心。
That's what we've got to do. 這是我們不得不做的事。
You've got to keep this in mind. 你必須把這牢記在心上。
Have you got to leave so soon? 你一定要這么早走嗎?
在口語中,have有時可以省略:
We got to make ends meet. 我們得收支相抵。
1) 現(xiàn)在完成進行時表示一個持續(xù)到現(xiàn)在的動作(這動作可能剛停止,也可能還在進行):
I've been waiting (for) an hour and he still hasn't turned up. 我等了一個鐘頭,他還沒來。
What have you been doing all these years? 這些年來你一直在干什么?
I'm very tired. I've been working all morning. 我很累,我干了一上午了。
I've been looking for my dog and still haven't found it. 我一直在找我的狗,還沒有找到。
Your fingers are brown. You've been smoking too much. 你手指都黃了,你抽煙太多。
Tom has been digging in the garden. I've been helping him. 湯姆一直在花園里挖土,我在幫他。
2) 這個時態(tài)常和how long, long這類狀語一起用:
How long have you been wearing glasses? 你戴眼鏡有多少年頭了?
How long has he been doing this work? 這工作他干多久了?
Have you been waiting long? 你等了很久嗎?
This has been going on all day long. 這已進行了一整天了。
She's been expecting a long distance call all night long. 她等長途電話等了一夜了。
還可以和since及for引導的狀語一起用:
We've been living in this city since 1980. 從1980年起我們一直住在這座城市。
They have been quarrelling ever since they got married. 自結婚以來他們一直爭吵不休。
It has been raining for two hours now. 雨已經(jīng)下了兩個小時了。
Her phone has been ringing for ten minutes. Why doesn't she answer it? 她的電話鈴響了十分鐘了,她為什么不接呢?
3) 在不少情況下這動作和現(xiàn)在狀態(tài)有聯(lián)系:
I've been shopping all day and I haven't a penny left. 我買了一天的東西,身上一文錢都不剩了。
Her eyes are red. Has she been crying? 她眼睛紅紅的,是不是哭來著?
He is out of breath. He's been running. 他氣喘吁吁,他一直在跑。
Aren't you tired? You've been standing for two hours. 你不累嗎?你站了兩個鐘頭了。
4) 有時表示動作的重復:
He hasn't been eating regularly recently. 近來他吃飯不規(guī)律。
He has been coughing a lot lately. He ought to give up smoking. 最近他一直咳嗽,他應當戒煙。
I've been using this typewriter for 6 years. 這臺打字機我已用了六年。
You've often been making mistakes like this. 你老犯這樣的錯誤。
1) 這兩個時態(tài)的主要差別是,現(xiàn)在完成時表示動作業(yè)已完成,而完成進行時卻不一定如此:
2) 許多靜態(tài)動詞都只能用于完成時而不能用于完成進行時:
I've known that for a long time. 這事我已知道很久了。
The strike has lasted six months. 這次罷工已持續(xù)了六個月。
Nobody has seen him since last week. 從上周起就沒人見到過他。
We've had terrible weather for nearly two weeks. 幾乎有兩星期天氣都很惡劣。
They've owned the house for many years. 這房子他們已擁有許多年了。
I've always thought you're right. 我一向認為你是對的。
但當動詞的意思發(fā)生轉(zhuǎn)變時也可能用于完成進行時:
I've been thinking of doing so for a long time. 我好久以來一直想這樣做。
Tom has been seeing about a work permit for you. 湯姆一直在設法幫你取得工作許可證。
Which judge has been hearing the case? 哪位法官在審這個案子?
She has been having a tooth out. 她在拔牙。
The children have been looking forward to this holiday for months. 孩子們好幾個月來一直盼望著這個節(jié)日。
want這個動詞有時可用于完成進行時,表示“一直想”
You're the very man I've been wanting to meet. 你正是我一直想見的人。
3) 有少數(shù)動詞用兩種時態(tài)都可以,意思差別不大,如:
強調(diào)時間長度時用完成進行時較好:
I've been coughing all night. 我咳了一整夜。(比I've coughed all night.更強調(diào)咳得久)
All the time she's been sitting there in silence. 她一直靜坐在那里。
All these years we've been trying to get in touch with him. 這些年來我們一直在設法和他聯(lián)系。
He's been hoping for a raise in salary all the time. 他一直盼望著加薪。