
老師,我想說「我學英文三年了」,結果寫成 I’ve studied English since three years,同學說怪怪的。since 跟 for 到底差在哪呢?
正確答案:看你講的是「從哪個時間點開始」,還是「已經持續多久」。
定義說明:
1) since = 從某個「時間起點」開始,一直到現在
結構:have/has + 過去分詞 + since + 時間點(2020/Monday/last year/I graduated)
2) for = 持續「一段時間長度」
結構:have/has + 過去分詞 + for + 時間長度(three years/two hours/a long time)
快速判斷:回答「從什麼時候開始?」→ since;回答「多久了?」→ for。兩者常搭配現在完成式,描述從過去持續到現在的事。
例句:
since(時間起點)
Kushiko has lived in Taipei since 2020.
(Kushiko 從 2020 年就住在台北。)
👉 since 後面是「起點」,不是「多長」。
Cushy has studied English since he was ten.
(Cushy 從十歲開始學英文。)
for(時間長度)
Kushiko has lived in Taipei for six years.
(Kushiko 已經在台北住了六年。)
👉 for 後面是「多久」,例如數字+單位。
We’ve been waiting for twenty minutes.
(我們已經等了二十分鐘。)
常見錯誤:
❌ I’ve studied English since three years.
✔ I’ve studied English for three years.
✔ I’ve studied English since 2023.
❌ I live here since 2020.
✔ I’ve lived here since 2020.
中文與英文畢竟是兩種不同語言,不要把「……了」直接套成 since+時長。
會話:
A: How long have you worked here?
(你在這裡工作多久了?)
B: I’ve worked here for three years, since I graduated.
(我已經做了三年,從畢業就開始了。)
簡單來說:
從哪個時間點開始 → since(since 2020/since Monday)
已經持續多久 → for(for three years/for a while)
小口訣:since 看起點,for 看長度
下次想說「……了」的時候,先問自己是講起點還是長度,就能一次分清楚囉!



