現在完成時用法解析
1.構成
現在完成時是由助動詞 have(has)+動詞的過去分詞構成。助動詞說明該謂語是屬於現在時範圍。它和主語的人稱、數要保持壹致。過去分詞是主要的謂語動詞,說明句子的意義。
2.用法
(1)表示動作發生在過去某個不確定的時間,但對現在留下了某種影響和結果。常被just、already、yet 等副詞修飾。如:
-Have you had lunch yet? -Yes,I have. I've just had it.
妳(已經)吃午飯了嗎? 我剛剛吃過。(現在我不餓了)
(2)表示從過去某壹時刻開始壹直持續到現在的動作或狀態。這個動作可能剛停止,可能仍然在進行。常帶有for和since等表示壹段時間的狀語。 如:He has taught here since 1981
他自1981年就在這兒教書。(可能還要繼續教)
I have't seen her for four years.
我有四年沒見到她了。
(3)表示說話前發生過壹次或多次的動作,現在成為壹種經驗,壹般譯為漢語“過”,常帶有twice,ever,never,three times等時間狀語。
如: I have been to Beijing twice.我去過北京二次。
3.現在完成時的時間狀語
(1)現在完成時屬於現在時範圍,故不能和過去的時間狀語連用。如:yesterday,last Sunday,in1990,three years ago等。但是,在強調動作產生的後果和影響時,可以和壹些表示不確定的時間狀語連用。
a. 用副詞already和yet。already壹般用於肯定句中,yet壹般用於否定句和 疑問句中。如:We have already finished our homework.我們已完成作業了。
They haven't finished their homework yet.他們還沒有完成作業。
b.用ever 和never。多用於否定或疑問句中,表示“曾經”或“從未“等。 如:-Have you ever been to the Great Wall?妳曾經去過長城嗎?
-I have never been to the Great Wall.我從未去過長城。
c.用表示到說話為止的過去時間狀語,如just,before,up to now,the past few years等。
例如:I have seen her before,but I can not remember where.
我以前見過她,但記不起在哪裏見過。
He has been there three times the last few days.
近幾年他去過那裏三次了。
d.用包括“現在”在內的時間狀語,如:now,today,this morning(month,year,term)等。
例如:-Have you met him today?-No,I haven't.
今天妳見過他嗎?我 沒有。
How many times have you been there this year?
今年妳去過那裏多少次?
(2)現在完成時可以和帶有since或for等表示“壹段時間”的狀語連用,表示動作或狀態從某壹時刻開始,壹直持續到現在。如:I haven't seen him for two years. 但是,像come,arrive,buy等終止性動詞不能與表示“壹段時間”的狀語連用。要用,必須改為“be(在)”等延續性動詞來表述。現歸納總結壹下由非延續性動詞到延續性動詞的轉換:
arrive→be here begin(start)→be on
die →be dead
fall ill(sick,asleep)→be ill(sick,asleep)
get up→be up go out →be out
finish →be over put on →wear 或be on
open →be open join →be in或 be a member of…
close →be closed go to school→be a student
borrow →keep buy →have
catch(a cold)→ have(a cold) get to know →know
begin to study→study come to work→work等
如:He has been a soldier for three years.他參軍三年了。
His father has been dead for two years.他父親去世二年了。
The film has been on for ten minutes.電影已開始十分鐘了。
We have studied English for three years. 我們(開始)學英語已三年了。
4.現在完成時和壹般過去時的區別
現在完成時和壹般過去時都表示在過去完成的動作。但現在完成時強調的是這壹動作與現在的關系。如對現在產生的結果或影響等,而壹般過去時只表示動作在過去某壹時刻發生,不表示和現在的關系。試比較:
I have lost my new book. 我把新書丟了。(現在還未找到)
I lost my new book yesterday. 我昨天把新書丟了。(昨天丟的,現在找到與否沒說明)
5.幾點註意事項
(1)have been(to)與have gone( to)的區別:have been(to)表示“去過某地(現在已經回來了)”,可用於各人稱;have gone(to)表示“去某地了(說話時某人不在當地)”,常用於第三人稱,前者可與once ,never,several times等連用,後者則不能。如:They have been to Beijing twice.他們去過北京兩次。
He has gone to Beijing . 他去北京了。
(2)如單純表示壹段時間,或強調壹段時間,雖有since壹詞,也不必用完成時。如:It is two years since his father died. =His father has been dead for two years.他父親去世已有三年了。
(3)終止性動詞現在完成時的否定式,已變成壹種可以延續的狀態,因此可以和表示壹段時間的狀語連用。
如:I haven't left here since 1997.自從1997年以來,我壹直沒有離開過這兒。