全部語法課

第 47 課 · 第 4 階段: 時態與情態動詞

現在完成時與一般過去時

中級

Present perfect vs past simple

構成與用法

I've lost my key(與現在有關)vs I lost it yesterday(已結束的時間)

1.關鍵區別

這兩種時態都講已經發生的事。區別在於說話人站在哪裡看:現在完成時從現在看(這件事現在仍然重要),一般過去時則把動作放在已經結束、翻篇了的時間裡。

現在完成時一般過去時
形式have/has + V3V2 (-ed), did/didn't + V
時間沒說出來,或還沒結束已經結束
重點到現在為止的結果或經歷什麼時候、怎麼發生的
例句I've lost my key.I lost it yesterday.

快速檢驗:句子裡有沒有(或明顯暗含)已經結束的時間?有 → 一般過去時。沒有,而且現在仍然重要 → 現在完成時。不要靠“了”“過”“已經”這類詞來判斷——決定時態的是時間框架。

2.時間詞

時間詞常常決定用哪個時態:

一般過去時(已結束的時間)現在完成時(到現在為止)
yesterday, last night, last summertoday, this week, this year
in 2019, on Monday, at 6 o'clockso far, up to now, recently, lately
three days ago, a moment agojust, already, yet, ever, never
When…? What time…?How long…? (+ for / since)

Today、this morning、this week 在這段時間還沒結束時用現在完成時,結束以後就用一般過去時。

  • I've drunk two coffees this morning.

    今天上午我已經喝了兩杯咖啡。(說話時還是上午)

  • I drank too much coffee this morning, and now I can't sleep.

    今天上午我咖啡喝多了,現在睡不著。(上午已經過去了)

  • Linh has called me four times this week!

    阿玲這週已經給我打了四次電話了!

3.現在的結果,還是已結束的事件

同一件事,換個時態,要表達的意思就變了:

  • I've broken my glasses, so I can't read this.

    我把眼鏡摔壞了,所以看不了這個。(現在的結果)

  • I broke my glasses last month, but I've got new ones now.

    我上個月把眼鏡摔壞了,不過現在已經配了新的。(已結束的事件)

  • Have you ever been to Thailand? — Yes, I went there in 2022.

    你去過泰國嗎?——去過,我 2022 年去的。

  • When did you start learning English?

    你是什麼時候開始學英語的?(不說:When have you started)

4.講新聞:先用現在完成時,再換成一般過去時

人們講新訊息時,常先用現在完成時(訊息本身),講細節時再換成一般過去時——因為這時已經有了明確的時間和地點。

  • I've finally passed my driving test! I took it last Friday.

    我終於通過駕照考試了!是上週五考的。

  • Hoa has had her baby! The little girl was born at 3 a.m.

    阿花生了!小女孩是凌晨三點出生的。

  • There's been an accident on the bridge. A bus hit a motorbike.

    橋上出車禍了,一輛公交車撞了一輛摩托車。

美國人,尤其是在口語中,說剛發生的事常用一般過去時:I just got home. / Did you eat yet? 英國人一般用現在完成時:I've just got home. / Have you eaten yet? 兩種都對——但有已結束的時間(yesterday、last week、ago)時,英式和美式英語都用一般過去時。

5.仍然如此,還是已經結束

對於持續的情況,現在完成時表示現在仍然如此;一般過去時表示已經結束。已經去世的人或已經過去的人生階段也是如此。

  • My dad has been a taxi driver for ten years.

    我爸爸開出租車已經十年了。(他現在還在開)

  • My dad was a taxi driver for ten years. He retired in 2020.

    我爸爸開了十年計程車,2020 年退休了。(現在不開了)

  • My grandfather never learned to drive.

    我爺爺一輩子都沒學會開車。(他已經不在世了)

6.常見錯誤

  • I have visited my aunt in Can Tho last month.

    I visited my aunt in Can Tho last month.

    last month 是已經結束的時間 → 一般過去時。

  • When have you started learning English?

    When did you start learning English?

    When…? 問句用一般過去時。

  • I read five books so far this month.

    I've read five books so far this month.

    so far = 到現在為止,這個月還沒結束 → 現在完成時。

  • Minh has finished university in 2021.

    Minh finished university in 2021.

    有明確的年份 → 一般過去時。

  • I've met your brother at the party on Saturday.

    I met your brother at the party on Saturday.

    說了時間和地點 → 一般過去時。

  • Have you ever been to Japan? — Yes, I've been there in 2019.

    Yes, I went there in 2019.

    一旦說出年份,就要換成一般過去時。

例句

  • I lost my keys yesterday, but Lan found them this morning.
  • We went to Phu Quoc in 2019.
  • I saw that film last weekend.
  • My brother has sent three emails to the bank so far this week.
AI 正在聽...•App Store 和 Google Play 評分 4.7/5

和 AI 說英語 全天 24 小時

立即下載應用 — 即時發音評分、自然對話、像真人老師一樣糾正。

AI 發音評分即時反饋自然對話