全部語法課

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

For / since / ago

初級

構成與用法

for + 一段時間,since + 起始時間,時間 + ago — 多久、從何時起、多久以前

1.三個詞,三種計時方式

For、since 和 ago 都和時間有關,但用法各不相同:

詞後面接意思例子
for + …一段時間多長時間for ten minutes, for three years, for ages
since + …一個起點從那時到現在since 2019, since Monday, since I was a child
… + ago一段時間,放在 ago 前面距現在多久以前two days ago, ten minutes ago, a long time ago

例如:今天是星期四,阿蘭星期一到了河內。同一件事可以有三種說法:

  • Lan has been in Hanoi for three days.

    阿蘭在河內已經三天了。

  • Lan has been in Hanoi since Monday.

    阿蘭從星期一起就在河內了。

  • Lan arrived in Hanoi three days ago.

    阿蘭三天前到了河內。

兩個常見陷阱:中文“從 2019 年開始(到現在)”是 since 2019——from 後面通常要接 to/until(from 2019 to 2022);“兩年前”(從現在往回算)是 two years ago,不是 before two years。

2.For + 一段時間

For 回答 How long?,可以用於任何時態,不只是現在完成時。

  • I've had this phone for three years.

    這部手機我已經用了三年了。(現在還在用)

  • We lived in Hue for two years, and then we moved to Saigon.

    我們在順化住了兩年,然後搬到了西貢。(已經結束 → 一般過去時)

  • I'm staying with my cousin for a week.

    我要在表哥家住一個星期。

  • 用在現在完成時的否定句中:I haven't seen her for years。美式英語也常用 in:I haven't seen her in years。
  • for + 一段時間(for two hours)和 during + 事件或時期(during the film、during the summer)不同:during 說的是什麼時候,不是多長時間。
  • for ages(口語)= 很久很久:I haven't been to the cinema for ages。

3.Since + 起點

Since 給出起點——某一天、某一年、某件事——動作從那時一直持續到現在。所以主句通常用完成時(have/has + V3 或 have/has been + -ing)。

  • My dad has worked at the hospital since 2015.

    我爸爸從 2015 年起就在這家醫院工作。

  • I haven't eaten anything since this morning.

    我從早上到現在什麼都沒吃。

  • Binh has played football since he was little.

    阿平從小就踢足球。(since + 一般過去時從句)

  • It's been two years since I last saw Minh.

    我上次見阿明已經是兩年前了。

It's been (= It has been) + 一段時間 + since + 一般過去時 這個句型在口語中很常見。英式英語也說 It's two years since…,意思相同。

4.Ago——在現在之前

Ago 放在一段時間的後面,從現在往回算。它指的是已經結束的時刻,所以和一般過去時連用,不用現在完成時。提問用:How long ago…? 或 When…?

  • Hung moved to Hanoi three years ago.

    阿雄三年前搬到了河內。

  • How long ago did you start this job? — About six months ago.

    你多久以前開始做這份工作的?——大約六個月前。

  • I called her ten minutes ago, but she didn't answer.

    我十分鐘前給她打了電話,但她沒接。

Ago 從現在往回算;before 從過去某個時刻往回算:She left Hanoi in 2020. She had moved there two years before(= 2018 年)。單獨使用時,before 意思是“以前”:I've never been here before。

5.提問:How long…? 和 When…?

選時態之前先問自己:這件事還在繼續,還是已經結束了?

問句意思回答
How long have you lived here?到現在多久了——你現在還住在這裡For six months. / Since May.
How long did you live in Hue?總共多久——你現在不住那裡了For two years.
When did you move here?哪個時刻In May. / Six months ago.

同樣的資訊可以從一種句型換成另一種:

  • I bought this bike two years ago. → I've had it for two years.

    這輛腳踏車我是兩年前買的。→ 我已經騎了兩年了。(bought → have had,不是 have bought)

  • Minh started learning the guitar in 2023. → He's been learning it since 2023.

    阿明 2023 年開始學吉他。→ 他從 2023 年起一直在學。

  • The last time I saw Hoa was in May. → I haven't seen Hoa since May.

    我最後一次見阿花是在五月。→ 從五月到現在我都沒見過阿花。

6.常見錯誤

  • I have studied English since five years.

    I have studied English for five years.

    five years 是一段時間 → for。

  • I have lived here for 2019.

    I have lived here since 2019.

    2019 是起點 → since。

  • We met each other before two years.

    We met each other two years ago.

    “……以前”= 一段時間 + ago。

  • I have seen that film two weeks ago.

    I saw that film two weeks ago.

    ago 指已經結束的時間 → 一般過去時。

  • I live here since 2020.

    I have lived here since 2020.

    用 since 時主句要用完成時。

  • I'm waiting for an hour!

    I've been waiting for an hour!

    說到現在為止持續了多久,用完成時,不用現在進行時。

例句

  • My dad has worked at the hospital since 2015.
  • Where are you? I've been waiting for twenty minutes!
  • Hùng moved to Hà Nội three years ago.
  • I bought this bike two years ago.
AI 正在聽...•App Store 和 Google Play 評分 4.7/5

和 AI 說英語 全天 24 小時

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

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