第 44 課 · 第 4 階段: 時態與情態動詞
現在完成時
中級Present perfect
構成與用法
have/has + 過去分詞 — 過去發生但與現在仍有關聯的事
1.形式
現在完成時 = have / has + 過去分詞 (V3)。主語是 he / she / it 或單數名詞時用 has,其他主語都用 have。口語中幾乎總是用縮寫:I've、you've、she's、they've。
| I / you / we / they | he / she / it | |
|---|---|---|
| 肯定式 | I've finished. | She's finished. |
| 否定式 | I haven't finished. | She hasn't finished. |
| 疑問式 | Have you finished? | Has she finished? |
| 簡略回答 | Yes, I have. / No, I haven't. | Yes, she has. / No, she hasn't. |
's 可能是 is,也可能是 has。後面跟過去分詞時就是 has:She's gone = She has gone。而 She's going = She is going。
2.過去分詞 (V3)
規則動詞:V3 和一般過去時的形式相同,加 -ed(work → worked, stop → stopped, study → studied)。不規則動詞需要記——很多動詞的 V3 和過去式不一樣,大部分錯誤就出在這裡。
| 型別 | 例子 (V1 – V2 – V3) |
|---|---|
| V2 和 V3 相同 | buy – bought – bought, have – had – had, make – made – made, tell – told – told, find – found – found |
| V3 以 -n / -en 結尾 | see – saw – seen, eat – ate – eaten, take – took – taken, write – wrote – written, ride – rode – ridden, fly – flew – flown |
| i – a – u | drink – drank – drunk, swim – swam – swum, begin – began – begun, sing – sang – sung |
| V3 和 V1 相同 | come – came – come, become – became – become, run – ran – run, put – put – put |
| 特殊 | be – was/were – been, go – went – gone, do – did – done |
have / has 後面一定要用 V3,不能用過去式:She has gone(不說 has went),I've eaten(不說 have ate)。記不規則動詞時,三種形式要一起記。
3.什麼時候用
現在完成時把過去和現在連在一起:事情發生過,但說話人想的是現在。所以句子通常不說它是什麼時候發生的。
1. 過去的動作,現在還能看到結果
I've lost my keys. I can't get into the house.
我把鑰匙弄丟了,進不了家門。
Someone has eaten my cake!
誰把我的蛋糕吃了!
The price of rice has gone up a lot.
米價漲了很多。
2. 新聞和剛剛發生的事——常和 just 連用
Guess what? Lan has passed her driving test!
你猜怎麼著?阿蘭駕照考試通過了!
The bus has just left. We'll have to wait for the next one.
公交車剛開走,我們只能等下一班了。
3. 到現在為止的經歷——have you ever… / I've never…;什麼時候發生的並不重要
Have you ever been to Hoi An?
你去過會安嗎?
I've never eaten frog legs.
我從來沒吃過田雞腿。
This is the first time I've driven a car.
這是我第一次開車。(不說:the first time I drive)
4. 還沒結束的一段時間:today、this week、this year、so far…
I've had three cups of coffee today.
我今天已經喝了三杯咖啡。(今天還沒過完)
We haven't had much rain so far this year.
今年到目前為止雨下得不多。
5. 從過去開始、現在仍然如此的情況——和 for、since、How long…? 連用
We've lived in this flat since 2019.
我們從 2019 年起就住在這套公寓裡。(不說:We live here since 2019)
How long have you known Minh?
你認識阿明多久了?
They've been married for ten years.
他們結婚十年了。
中文表達這個意思時,動詞本身不變,只加“了”“過”“已經”這樣的小詞。英語則要改變動詞本身:I have lived here for five years(不說 I live here five years)。但並不是所有“了”都用現在完成時:有 yesterday 這類已經結束的時間時,英語用一般過去時——I met her yesterday。
4.Gone 還是 been
Go 有兩個過去分詞,意思不同:has gone (to) = 去了,還沒回來(人在那裡或在路上);has been (to) = 去過,已經回來了——常用來說經歷。
Mai isn't here. She's gone to the post office.
阿梅不在,她去郵局了。(她還沒回來)
I've been to the post office. Here are your stamps.
我去了趟郵局,這是你的郵票。
Have you ever been to Japan?
你去過日本嗎?
5.現在完成時還是一般過去時?
如果句子裡有已經結束的時間(yesterday、last week、in 2019、three days ago、when I was a child),就用一般過去時,不用現在完成時——即使結果現在還在。
| 現在完成時 | 一般過去時 |
|---|---|
| I've lost my phone. | I lost my phone yesterday. |
| Have you ever been to Da Lat? | When did you go to Da Lat? |
| She's worked here since 2020. | She worked here from 2018 to 2020. |
這一點在“現在完成時與一般過去時”一課中有詳細講解。Just / already / yet / ever 有專門的一課“現在完成時與 just / already / yet / ever”,for / since / ago 在“For / since / ago”一課。
6.常見錯誤
I live here since I was a child.I have lived here since I was a child.
since(從那時到現在)要用現在完成時。
She has went home.She has gone home.
has + V3 (gone),不用過去式。
I have seen him yesterday.I saw him yesterday.
yesterday 是已經結束的時間 → 一般過去時。
How long do you know Minh?How long have you known Minh?
問到現在為止多長時間 → 現在完成時。
This is the first time I visit Hue.This is the first time I've visited Hue.
this is the first time 後面用現在完成時。
He have finished his homework.He has finished his homework.
he/she/it → has。
例句
- We have lived in this flat since 2019.
- I haven't finished the report yet.
- My parents have never been abroad.
- My sister has just bought a new laptop.
