學英文時態時,最容易卡關的就是現在完成式:明明事情發生在過去,為什麼不用過去式?這篇從公式開始,帶你看懂 4 種用法、時間副詞該放哪裡,再用對照表分清楚它和過去式、現在完成進行式的差別,最後用練習題確認自己真的會用。
簡單來說,事情發生在過去,但重點放在「跟現在的關係」,就用現在完成式,句型是 主詞 + have/has + 過去分詞(p.p.)。例如 I have lost my key.,意思是鑰匙弄丟了,而且到現在還沒找到。
現在完成式是什麼?重點在「跟現在有關」
現在完成式(present perfect tense)描述的是「從過去延伸到現在」的事:可能是到現在為止的經驗、一直持續到現在的狀態,或是剛完成、結果還留在現在的動作。英文文法書有時也寫成 present perfect simple,指的是同一個時態。
和過去式最大的不同在於:過去式只說「那時候發生了什麼」,現在完成式則在說「那件事和現在有什麼關係」。所以現在完成式通常不搭配明確的過去時間,例如 yesterday、last week、in 2020。
把這 12 個項目唸出來,看看你的發音拿幾分。
例如:
- I lost my key yesterday.
我昨天弄丟了鑰匙。只是陳述過去的事,現在可能已經找到。 - I have lost my key.
我弄丟了鑰匙。重點是現在還進不了家門。

現在完成式句型:肯定、否定、疑問
| 句型 | 結構 | 例句 |
|---|---|---|
| 肯定句 | 主詞 + have/has + p.p. | She has finished her report. |
| 否定句 | 主詞 + have/has not(haven’t/hasn’t)+ p.p. | I haven’t seen that movie. |
| 是非問句 | Have/Has + 主詞 + p.p.? → Yes, 主詞 + have/has. / No, 主詞 + haven’t/hasn’t. | Have you eaten? — Yes, I have. |
| 疑問詞問句 | 疑問詞 + have/has + 主詞 + p.p.? | Where have you been? |

使用這個句型時,有幾點要注意:
- I、you、we、they 和複數名詞用 have;he、she、it 和單數名詞用 has。
- 口語常縮寫:I’ve、you’ve、she’s、he’s、it’s。注意 she’s 可能是 she is 也可能是 she has,要看後面接的是不是過去分詞。
- 不規則動詞要用第三態,例如 go → went → gone、eat → ate → eaten。不熟的話可以先複習動詞三態和過去分詞。
英文現在完成式的句型就這一套,比較需要花時間的是判斷什麼時候該用。
現在完成式用法:4 種常見情境
現在完成式大致有 4 種用法,下面每一種都附上現在完成式例句和中文翻譯。
到現在為止的經驗
常搭配 ever、never、before、once、twice、three times。
例如:
- Have you ever tried bubble tea with cheese foam?
你喝過奶蓋珍奶嗎? - I have been to Kenting three times.
我去過墾丁三次。
從過去持續到現在的狀態
常搭配 for(一段時間)和 since(起始時間點,用法可參考 since 用法),以及 live、know、be、have 這類表示狀態的動詞。
例如:
- We have lived in Taichung since 2020.
我們從 2020 年就住在台中。 - I have known Kevin for ten years.
我認識 Kevin 十年了。
剛完成的動作,結果影響現在
常搭配 just、already、yet。
例如:
- I’ve just sent you the file.
我剛把檔案傳給你了,你現在可以打開看。 - She has lost her EasyCard, so she can’t take the MRT.
她的悠遊卡掉了,所以現在沒辦法搭捷運。
到目前為止的變化或累積
常搭配 so far、recently、lately、this week/this year(時間還沒結束)。
例如:
- I have read three books this month.
這個月到目前為止我讀了三本書。 - The price of bubble tea has gone up a lot recently.
最近珍奶漲價很多。

時間副詞該放哪裡?
| 時間副詞 | 位置與意思 | 例句 |
|---|---|---|
| just/already/ever/never | 放在 have/has 和 p.p. 中間;already 也可放句尾 | I have already paid. |
| yet | 放句尾,用在否定句和疑問句,意思是「還沒/了沒」 | Have you finished yet? |
| for + 一段時間 | for two years、for a long time | She has worked here for two years. |
| since + 時間點 | since 2020、since Monday、since I was a kid | I have lived here since I was a kid. |
| so far/recently/lately | 句首或句尾都可以 | So far, we have sold 200 tickets. |

另外,have been to 和 have gone to 很容易搞混:have been to 是「去過(已經回來)」,have gone to 是「去了(人還在那裡)」。have been 的其他用法可以參考 Have been 用法。
例如:
- She has been to Japan.
她去過日本。 - She has gone to Japan.
她去日本了,現在不在台灣。
現在完成式和過去式怎麼分辨?
最快的判斷方法是:句子裡有沒有明確的過去時間? 有的話用過去式;沒有、而且重點在「到現在」的經驗、持續或結果,就用現在完成式。
| 比較 | 過去式 | 現在完成式 |
|---|---|---|
| 時間點 | 明確的過去時間:yesterday、last year、two days ago、in 2020 | 不提明確時間,或時間還沒結束:ever、for、since、this week |
| 重點 | 過去那個時候發生了什麼 | 那件事和現在的關係 |
| 例句 | I visited Tainan last year. | I have visited Tainan twice. |
例如:
- He graduated in 2024.
他 2024 年畢業。 - He has graduated, so he’s looking for a job now.
他畢業了,所以現在在找工作。

現在完成式和現在完成進行式的差別
現在完成進行式(present perfect continuous)的句型是 have/has been + V-ing。兩者都能描述從過去持續到現在的事,差別在於強調的重點:
| 時態 | 強調重點 | 例句 |
|---|---|---|
| 現在完成式 | 結果、完成了多少 | I have written three emails this morning. |
| 現在完成進行式 | 過程、持續了多久 | I have been writing emails all morning. |
know、like、own、believe 這類狀態動詞通常不用進行式,所以要說 I have known her for years.,不說 I have been knowing her.

現在完成式和過去完成式怎麼選?
兩者都是 have + p.p. 的家族,差別在「參考點」:現在完成式的參考點是現在,過去完成式的參考點是過去的某個時間點。
例如:
- I have finished the report.
到現在為止,報告做完了。 - I had finished the report before the meeting started.
會議開始前,報告就已經做完了。
想進一步了解,可以看過去完成式的用法與練習。

現在完成被動式怎麼寫?
句型是 主詞 + have/has been + p.p.,用來說「某件事已經被完成」,也就是把被動語態的 be + p.p. 套進現在完成式。
例如:
- The tickets have been sold out.
票已經賣完了。 - Your order has been shipped.
您的訂單已經出貨。
現在完成式常見的 5 個錯誤
和明確的過去時間一起用
yesterday、last week、in 2020 這類明確的過去時間,要搭配過去式。I have seen him yesterday. 應該改成 I saw him yesterday.
have/has 後面接了過去式
have/has 後面一定接過去分詞。She has went home. 要改成 She has gone home.,不規則動詞特別容易寫錯。
for 和 since 用反
for 接一段時間,since 接起始的時間點。I have lived here since three years. 要改成 for three years,或是 since 2023。
用現在式問「多久了」
問一件事持續了多久,要用現在完成式:How long have you known him?,而不是 How long do you know him?
主詞和 have/has 不一致
單數主詞要用 has。My brother have finished. 應該寫成 My brother has finished.
現在完成式練習題(附解答)
練習 1:用括號內動詞的正確形式填空
- I ______ (live) in Taipei since 2019.
- ______ you ever ______ (eat) stinky tofu?
- She ______ (not / finish) her homework yet.
- We ______ (know) each other for ten years.
- My brother ______ (lose) his EasyCard, so he can’t take the MRT.
- I ______ just ______ (send) you the file.
- This is the first time I ______ (visit) Tainan.
- How long ______ you ______ (work) at this company?
- The new MRT line ______ already ______ (open).
- The concert tickets ______ (sell) out.(被動)
練習 2:選出正確的時態
- I (have seen / saw) that movie last weekend.
- She (has worked / worked) here since 2022.
- We (have been / went) to Japan twice.
- He (has graduated / graduated) from college in 2024.
- (Have you finished / Did you finish) your report yet?
練習 1 解答:
- have lived:since 2019 表示從那時住到現在。
- Have … eaten:問到現在為止的經驗,have 放到主詞前面。
- hasn’t finished:yet 搭配否定句,表示到現在還沒完成。
- have known:know 是狀態動詞,for ten years 表示持續到現在。
- has lost:悠遊卡掉了的結果影響現在,所以沒辦法搭捷運。
- have … sent:just 放在 have 和 p.p. 中間,表示剛完成。
- have visited:This is the first time 後面習慣用現在完成式。
- have … worked:How long 問持續到現在多久。
- has … opened:already 表示已經完成,結果延續到現在。
- have been sold:票「被賣出」,用現在完成被動式。
練習 2 解答:
- saw(有明確時間 last weekend)
- has worked(since 2022 持續到現在)
- have been(經驗,去過兩次)
- graduated(有明確時間 in 2024)
- Have you finished(yet 用在現在完成式疑問句)
這些現在完成式題目如果都答對了,代表你已經掌握最常考的判斷重點。
結語
總結來說,用現在完成式之前先想一想:這件事跟現在有沒有關係?有的話用 have/has + p.p.;句子裡出現明確的過去時間,就改用過去式。口說時 I’ve、she’s 這類縮寫很容易被吞掉,可以用 ELSA Speak 跟讀練習,讓發音更自然。想把時態系統串起來,可以再看 12 種英文時態。














