have been是be動詞的現在完成時。
現在完成時跨在兩個時間之上,一是過去,一是現在。它的動作發生在過去,但對現在有影響(或結果),而時這種影響(或結果)卻往往是說話人的興趣所在,所以常常後面不用時間狀語。現在完成時所表的動作離說話人的說話時刻可近可遠,表近距離的如:
The car has arrived. 車子來了。(結果:車子已在門口)
Someone has broken the window. 有人把窗戶打破了。(結果:窗戶仍破著)
He’s been sick. 他剛生過病。(結果:現在臉色還不好)
美國英語常用過去一般時代替表近距離的現在完成時,如:
What happened? 發生什麼事了?(等於What’s happened?)
Who took my dictionary? 誰把我的詞典拿走了?(等於Who’s taken my dictionary?)
表遠距離的如:
He has traveled over a lot of lands. 他到過許多國家。(結果:他見識很廣)
Have you ever seen the sea? 你看見過大海嗎?(結果:如見過就告訴我大海是什麼樣吧)
She has had a good education. 她受過良好教育。(結果:她的文化水平比較高)
有時可以連用現在完成時去完成一個以上相互緊接的動作。如:
They have gone to the moon and come back to earth again. 他們踏上了月球,後又返回了地球。
The river has been the scourge to Chins. But we have tamed it at last. 這條河是中國的災難。但我們終於把它馴服了。
注意have been與have gone的意思不同。試比較:
I have been to the library. 我剛從圖書館回來。(去而復歸,用be動詞的現在完成時)
He has gone to the library. 他到圖書館去了。(去而未歸,用go的現在完成時,並且只能用於第三人稱)
have been還可和不定式連用。如:
I have been to see John. 我去看過約翰了。
This is one of the few times he has been to shed tears. 這是他難得的一次流淚。
現在完成時常用來表持續的動作或狀態,亦可用來表過去重複的動作。
1)無限動詞表持續。表持續的動作或狀態的動詞多是無限動詞,如live,study,teach,be,wait等,常和since(自從)或for(經歷)引導的詞語連用。如:
I have lived here for more than thirty years. 我已在此住了30多年。
I have been here since last October. 從去年十月起,我一直在這裡。(since是介係詞)
She has taught us since I came to this school. 自從我來到這所學校,她一直教我們。(since作連線詞)
此外,since還可以做副詞用。
since從句雖常用過去一般時,但有時也可以用現在完成時。since從句用現在完成時時,since的意思是“在‥‥期間”或“自‥‥期間”的開頭,但其後的動詞必須是無限動詞,有持續性。如果since後面的動詞是無限動詞,但時態為一般過去時,則表示自從這個動作結束時算起。如:
I have met him often since I have lived here. 自從我在這裡住下之後,我經常看見他。
I have met him often since I lived here. 自從我不住在這裡之後,我經常看見他。
I have learned a lot from him since I have known him. 自從我認識了他,我向他學到許多東西。
在一般情況下,這種現在完成時今後還會延續下去。但也有可能不再延續。如:
Have you waited long? 你等了很久了嗎?(動作不再延續,如果說話人是對方所等待的人的話。long前省去了for,因為long本身可以做副詞)
These shoes are worn out. They have lasted a long time. 這些鞋子已穿破了。已穿了很長時間了。(have lasted也不再延續。a long time前省去了for)
非無限動詞一般不可用現在完成時表持續性,但非無限動詞在否定結構中則可用現在完成時,因為“否定的狀態”本身是可以延續的。如:
I haven’t bought anything for three months. 我有3個月沒有買過任何東西。
I haven’t touched beer for a whole week. 我有整整一個星期沒沾啤酒。
2)亦可用有限動詞表持續。在當代英語裡,有些有限動詞已衝破了上述規則,在某種情況下也可以與since(自從)或for(經歷)引導的詞語連用表“持續性”。如:
The two leaders have met for two hours. 這兩位領導人會晤了兩個小時。
He has visited China for three days. 他在中國進行了三天訪問。
Since when have you become active? 你什麼時候開始變得積極了的?
但要注意介係詞for有時並不表“經歷”,而是表“目的”。如:
I’ve come only for a few moments. 我來只能待幾分鐘。
Charlie has gone off to Canada for six months. 查理去加拿大,要去六個月。
3)表過去重複的動作。這種現在完成時常與always,often,many times,every day等時間狀語連用。如:
My father has always gone to work by bike. 我父親一向是騎車上班。
It’s rained every day this week. 這個星期天天下雨。
Six times he has tried and six times he has failed. 他試了六次,六次都失敗了。
還常與含有另一現在完成時的when從句連用,表過去了的經驗。如:
I have often met him when I have been in London. 我在倫敦時經常見到他。
Sometimes when I have been alone I have remembered that folly. 有時我獨自一人,就會想起那樁荒唐事。
when從句中的現在完成時往往被過去一般時所代替,如:Here men have been killed when they fired at a grizzly. (這裡人們開槍打灰熊時,是有過犧牲的。)
同現在一般時一樣,現在完成時也可以在時間狀語從句裡表將來。如:
We are going after we’ve had breakfast. 我們吃過早餐走。
How can you go before the rain has stopped? 雨還沒有停,你怎麼能走呢?
I’ll wait until he has written his letter. 我願等到他把信寫完。
用於主句為過去時的名詞性從句。和現在一般時一樣,現在完成時也可以用在過去時態之後的名詞性從句中,表示說話人相信從句所表示內容的真實性。如:
I heard you have been sick. 我聽說你病了。
The investigation proved that he has done his best. 調查結果說明他是盡了最大努力的。
have been是be動詞的現在完成時。
現在完成時跨在兩個時間之上,一是過去,一是現在。它的動作發生在過去,但對現在有影響(或結果),而時這種影響(或結果)卻往往是說話人的興趣所在,所以常常後面不用時間狀語。現在完成時所表的動作離說話人的說話時刻可近可遠,表近距離的如:
The car has arrived. 車子來了。(結果:車子已在門口)
Someone has broken the window. 有人把窗戶打破了。(結果:窗戶仍破著)
He’s been sick. 他剛生過病。(結果:現在臉色還不好)
美國英語常用過去一般時代替表近距離的現在完成時,如:
What happened? 發生什麼事了?(等於What’s happened?)
Who took my dictionary? 誰把我的詞典拿走了?(等於Who’s taken my dictionary?)
表遠距離的如:
He has traveled over a lot of lands. 他到過許多國家。(結果:他見識很廣)
Have you ever seen the sea? 你看見過大海嗎?(結果:如見過就告訴我大海是什麼樣吧)
She has had a good education. 她受過良好教育。(結果:她的文化水平比較高)
有時可以連用現在完成時去完成一個以上相互緊接的動作。如:
They have gone to the moon and come back to earth again. 他們踏上了月球,後又返回了地球。
The river has been the scourge to Chins. But we have tamed it at last. 這條河是中國的災難。但我們終於把它馴服了。
注意have been與have gone的意思不同。試比較:
I have been to the library. 我剛從圖書館回來。(去而復歸,用be動詞的現在完成時)
He has gone to the library. 他到圖書館去了。(去而未歸,用go的現在完成時,並且只能用於第三人稱)
have been還可和不定式連用。如:
I have been to see John. 我去看過約翰了。
This is one of the few times he has been to shed tears. 這是他難得的一次流淚。
現在完成時常用來表持續的動作或狀態,亦可用來表過去重複的動作。
1)無限動詞表持續。表持續的動作或狀態的動詞多是無限動詞,如live,study,teach,be,wait等,常和since(自從)或for(經歷)引導的詞語連用。如:
I have lived here for more than thirty years. 我已在此住了30多年。
I have been here since last October. 從去年十月起,我一直在這裡。(since是介係詞)
She has taught us since I came to this school. 自從我來到這所學校,她一直教我們。(since作連線詞)
此外,since還可以做副詞用。
since從句雖常用過去一般時,但有時也可以用現在完成時。since從句用現在完成時時,since的意思是“在‥‥期間”或“自‥‥期間”的開頭,但其後的動詞必須是無限動詞,有持續性。如果since後面的動詞是無限動詞,但時態為一般過去時,則表示自從這個動作結束時算起。如:
I have met him often since I have lived here. 自從我在這裡住下之後,我經常看見他。
I have met him often since I lived here. 自從我不住在這裡之後,我經常看見他。
I have learned a lot from him since I have known him. 自從我認識了他,我向他學到許多東西。
在一般情況下,這種現在完成時今後還會延續下去。但也有可能不再延續。如:
Have you waited long? 你等了很久了嗎?(動作不再延續,如果說話人是對方所等待的人的話。long前省去了for,因為long本身可以做副詞)
These shoes are worn out. They have lasted a long time. 這些鞋子已穿破了。已穿了很長時間了。(have lasted也不再延續。a long time前省去了for)
非無限動詞一般不可用現在完成時表持續性,但非無限動詞在否定結構中則可用現在完成時,因為“否定的狀態”本身是可以延續的。如:
I haven’t bought anything for three months. 我有3個月沒有買過任何東西。
I haven’t touched beer for a whole week. 我有整整一個星期沒沾啤酒。
2)亦可用有限動詞表持續。在當代英語裡,有些有限動詞已衝破了上述規則,在某種情況下也可以與since(自從)或for(經歷)引導的詞語連用表“持續性”。如:
The two leaders have met for two hours. 這兩位領導人會晤了兩個小時。
He has visited China for three days. 他在中國進行了三天訪問。
Since when have you become active? 你什麼時候開始變得積極了的?
但要注意介係詞for有時並不表“經歷”,而是表“目的”。如:
I’ve come only for a few moments. 我來只能待幾分鐘。
Charlie has gone off to Canada for six months. 查理去加拿大,要去六個月。
3)表過去重複的動作。這種現在完成時常與always,often,many times,every day等時間狀語連用。如:
My father has always gone to work by bike. 我父親一向是騎車上班。
It’s rained every day this week. 這個星期天天下雨。
Six times he has tried and six times he has failed. 他試了六次,六次都失敗了。
還常與含有另一現在完成時的when從句連用,表過去了的經驗。如:
I have often met him when I have been in London. 我在倫敦時經常見到他。
Sometimes when I have been alone I have remembered that folly. 有時我獨自一人,就會想起那樁荒唐事。
when從句中的現在完成時往往被過去一般時所代替,如:Here men have been killed when they fired at a grizzly. (這裡人們開槍打灰熊時,是有過犧牲的。)
同現在一般時一樣,現在完成時也可以在時間狀語從句裡表將來。如:
We are going after we’ve had breakfast. 我們吃過早餐走。
How can you go before the rain has stopped? 雨還沒有停,你怎麼能走呢?
I’ll wait until he has written his letter. 我願等到他把信寫完。
用於主句為過去時的名詞性從句。和現在一般時一樣,現在完成時也可以用在過去時態之後的名詞性從句中,表示說話人相信從句所表示內容的真實性。如:
I heard you have been sick. 我聽說你病了。
The investigation proved that he has done his best. 調查結果說明他是盡了最大努力的。