現(xiàn)在完成時
(1)構(gòu)成:現(xiàn)在完成時由助動詞have + 過去分詞構(gòu)成,助動詞have 有人稱和數(shù)的變化。第三人稱單數(shù)用has,其余用have.
現(xiàn)在完成時的否定式直接在助動詞后面加上not、疑問式是把助動詞提到主語之前。
(2)用法:
1)現(xiàn)在完成時通常表示在說話之前已經(jīng)完成的動作或存在的狀態(tài)。說話人強調(diào)的是該動作或狀態(tài)對現(xiàn)在的結(jié)果或影響。而一般過去時也表示動作已經(jīng)完成,但強調(diào)的是過去發(fā)生了某一動作這樣一個事實。有的同學(xué)覺得這種說法比較難以理解,因為任何過去的動作對現(xiàn)在都有影響,很難判斷用一般過去時或現(xiàn)在完成時。事實上,這種說法沒有把現(xiàn)在完成時與一般過去時的根本區(qū)別說清楚。如果沒有說明動作發(fā)生的具體時間,則一般用現(xiàn)在完成時;如果說明了動作發(fā)生的具體時間,帶有表示過去的時間狀語,則用一般過去時。例如:
My daughter has just gone out. 我女兒剛出去。
I’m sure we’ve met before. 我肯定我們以前見過面。
She has arrived. 她到了。
2)表示持續(xù)到現(xiàn)在的動作或狀態(tài),往往和包括現(xiàn)在在內(nèi)的表示一段時間的狀語連用,如today, these days,recently, now, lately, for…, since…, in the last/past two weeks/years/days/months, just 等。
如:
I haven’t heard from her these days. 這些日子我沒有收到她的信。
We haven’t seen you recently. 最近我們沒有見到你。
They have been away for two years. 他們離開已經(jīng)兩年了。
She has been with us since Monday.
她從星期一就一直和我們在一起。
注意:
1)表示短暫意義的動詞如open, go, come, die, arrive, leave, lose, fall等,在完成時當中不能和包括現(xiàn)在在內(nèi)的表示一段時間的狀語連用,因為它們表示的動作不可能持續(xù)。因此,不能說:
×He has come here for 2 weeks.
×The old man has died for 4 months.
×They have left only for 5 minutes.
以上三句話可以改為:
It’s two weeks since he came here. He has been here for 2 weeks.
It’s 4 months since the old man died.
They have been away only for 5 minutes
2)have (has) been 和have (has) gone的區(qū)別:表示“曾到過某地”要用 “have (has) been”; 表示“已經(jīng)去某地”要用 “have (has) gone”。試比較:
Where has he been? 他剛才到哪里去了?(已經(jīng)回來了)
Where has he gone? 他上哪兒去了?(人不在)
They have been to Canada. 他們到過加拿大。(現(xiàn)在已經(jīng)不在加拿大)
They have gone to Canada. 他們到加拿大去了。(可能在路上和已經(jīng)到加拿大)。