英文的「現在完成式」常讓許多人困惑:有時候,說的明明是發生在過去的事,為什麼不用過去式,而是使用現在完成式呢?
為此,本文特別整理了現在完成式的文法結構,詳解三大常見使用情境,並和容易搞混的過去式一起比較分析,用簡單易懂的解說、清晰的時間軸圖解、有趣又實用的生活化例句,帶你一次搞懂現在完成式!
現在完成式是什麼?
完成式與現在完成式
英文的時態,是「時間」和「狀態」的組合。「現在」的時間,有四種不同的強調狀態:簡單式、進行式、完成式、完成進行式。
「完成式」強調的是「在某個參照的時間點之前,事情是否發生了」,也就是「在~之前,已經~」的概念,包含了「現在完成式」和「過去完成式」兩類。
現在完成式參照的時間點就是「說話的現在」,將過去和現在連結,表達「到現在為止,事情是否已經發生」。
日常生活中,現在完成式的用途,主要包含以下三種:
- 表示動作的完成
- 表示目前為止的經驗
- 表示持續到現在的狀態
而在形式上,現在完成式的動詞具有型態變化,必須使用「過去分詞」(p.p.) 的型態。
過去分詞 p.p.
「分詞」是英文的一種動詞變化型態,用來強調狀態,與時間無關。
比如說,現在分詞 Ving 用來表示「進行式狀態」,名稱雖然有「現在」兩字,卻不僅限於現在進行式,也用於過去進行式。
同樣地,過去分詞(通常簡稱 p.p. )用來表示「完成式狀態」,可用於現在完成式和過去完成式。
現在完成式的文法結構
過去分詞 p.p. 的變化方式
動詞的「過去分詞」型態,就是「動詞三態」的第三型態,分為規則變化和不規則變化兩類。大部分動詞可依一定的規則來推理變化,但也有少數的不規則動詞。
規則變化
規則變化的過去分詞,會和過去式動詞同形。也就是說,規則過去分詞和過去式動詞,變化方式其實是一樣的。
- 大部分的動詞,在字尾加上 -ed
- call → called
- talk → talked
- watch → watched
- 字尾是 e 的動詞,加上 -d 即可
- die → died
- live → lived
- swipe →swiped
- 字尾是「子音+y」的動詞,先去掉 y,再加上 -ied
- cry → cried
- study → studied
- terrify → terrified
- 字尾是 c 的動詞,要加上 -ked
- mimic → mimicked
- picnic → picnicked
- panic → panicked
- 重音節在字尾,且字尾末三字母是「子音 + 母音+子音」時,要先重複子音字母,再加上 -ed
- tag → tagged
- plan → planned
- stop → stopped
不規則變化
少數動詞為不規則變化,不規則動詞的過去分詞,沒有一定的變化規律,在此略舉幾例:
- am, are, is → been
- buy → bought
- forgive → forgiven
- leave → left
- meet → met
- send → sent
- tell → told
想知道更多的不規則動詞拼寫方式,請見「常用英文不規則動詞三態變化表」一文。
現在完成式的基本結構 have / has + 過去分詞 p.p.
認識完過去分詞的變化方式,來看看完整的現在完成式句子結構:
- 現在完成式的句構為 S + have / has + p.p.
*主詞是「第三人稱單數」時,使用 has + p.p.,其他情形則用 have + p.p.
She has showed up.
她已經登場了。
They have warned me.
他們警告過我了。
I have prepared the earplugs.
我已經準備好耳塞了。
現在完成式的否定、疑問句結構、加強語氣詞 already 和 yet
- 否定句構: S + have / has + not + p.p. (可縮寫成 haven’t / hasn’t + p.p.)
- 疑問句構: Have / has + S + p.p.
現在完成式也常搭配 already 和 yet 兩字來加強語氣,already 用於加強肯定句的語氣,yet 則用來增強否定語氣或疑問語氣。例如:
Have you bargained with the salesman yet, honey?
親愛的,你已經和那位銷售員討價還價了嗎?
No. We haven’t talked about the price yet.
還沒,我們還沒有談到關於價錢的事。
But I have already swiped your credit card.
但我已經把你的信用卡刷下去了。
現在完成式的用途
認識完文法結構後,來看看現在完成式的各種用途,包含了三大常見使用情境:
1. 表示動作的完成
He has told me the secret of being attractive.
他已經告訴我散發魅力的秘訣了。
I have sent the picture.
我已經傳送那張照片了。
She has called the police.
她已經報警了。

從現在回望過去,已結束的一次性動作,就是現在已經完成的動作
現在完成式可表示「到目前為止,某動作已經發生、完成了」。
有時候,過去式和現在完成式,其實都能傳遞相同的基本資訊。然而,過去式只是單純陳述「動作在過去某時發生」,現在完成式則關注「過去的動作和現在的關聯」,表示動作雖然發生在過去,卻影響了現在的狀況。
過去式 He told me the secret 是「(過去某時)他告訴我那個秘密」,現在完成式 He has told me the secret 則是「(到現在為止)他已經告訴我那個秘密了」,強調「現在已經~」的語意。
同樣地,She called the police 是「(過去某時)她報警了」,並沒有連結現在的狀況。若改成 She has called the police,則強調「說話的現在,她已經報警了」,有連結到現在的狀況,表示現在警察可能已在路上,而亂傳照片的我,現在最好趕快逃。
【比較分析 】過去式 vs. 現在完成式
I bought the gift two hours ago.
我兩個小時前買了禮物。
I have bought the gift.
我已經買好了禮物。
上下兩句話,分別用過去式和現在完成式,都有傳達「在過去某時買了禮物」的基本資訊。
過去式單純描述「與現在無關的過去動作」,所以可加上明確的過去時間點 two hours ago,清楚告知動作發生在過去何時。
然而,現在完成式著重於現在,不關心動作在過去的何時發生,只在乎「到現在為止,動作是否發生」,所以不會說明動作在過去的發生時間點。
這種隱匿明確時間點的用法,有時十分體貼人性,就像上面的兩個例句:另一半過生日,問你是否有準備驚喜禮物?
健忘但聰明的你,知道該選哪一種回答了嗎?
2. 表示目前為止的經驗
We have watched Love Letter hundreds of times.
我們已經把《情書》這部電影看過好幾百次了。
My boyfriend has only cried 99 times.
我的男友只哭了 99 次。
I have never met anyone so heartless.
我從未遇過如此鐵石心腸之人。

從現在回望過去,相同動作發生的次數,就是到目前為止的經驗
現在完成式可表示「到目前為止的經驗、次數」。
過去式可以表示「一次性的動作」,We watched the movie 是指「我們看過了那部電影」,表示至少有看過一次,但過去式無關現在,也就無法說明「到目前為止,總共看了幾次」。
必須改用現在完成式 We have watched the movie hundreds of times,才可以表達「到現在為止,那部電影已經看過好幾百次了」。這種用法,常和表示次數或頻率的副詞一起使用,例如:once(一次), twice(兩次), many times(很多次), never(從未), ever(曾經)。更多的例子:
He has cheated on me three times.
目前為止,他已經背著我偷情三次了。
I have forgiven him twice.
我已經原諒他兩回了。
Have you ever used a motherboard to secure your relationship?
你曾經用電腦主機板來守護愛情嗎?
3. 表示持續到現在的狀態
I have been married since I was nine.
我從九歲的時候就已經結婚了。
My parents have lived in despair for fourteen years.
我的父母已經在絕望中度過十四年了。
Hatsune Miku has been my wife since 2007.
從 2007 年開始,初音未來就已經是我婆了。

除了已結束的動作或經驗,現在完成式也可以表示「從過去某個時刻開始,一直持續到現在的狀態」。
現在簡單式 My parents live in despair,是指「我的父母現在處於絕望之中」,但沒有說狀態是從過去何時開始的,也就無法表明持續了多久。
若改成過去式,就可以加上持續的時間,My parents lived in despair for fourteen years。然而,過去式「與現在無關」的特性,表示那段十四年並不包含現在,是指「我的父母在過去的某段十四年內,曾處於絕望之中」。
因此,唯有現在完成式,才能精確傳達「到目前為止,某事已經持續了多久」,常搭配 「for + 一段時間長度」或「 since + 一個過去時間點」來表達狀態的持續時間。更多的例子:
I have studied horse racing for eight months.
我已經研究賽馬八個月了。
My wife has left for two weeks.
我的妻子已經出走兩個禮拜了。
My friends have been busy since I was broke.
自從我破產後,我的朋友們到現在都很忙碌。
最後,將本文三種用途的現在完成式時間軸並列觀察:

表達動作完成、目前的經驗、持續到現在的狀態的三種現在完成式排列在一起比較
我們會發現,現在完成式雖有不同的用法,但共通的核心本質是一樣的,都是以現在為參照點,檢視過去,表達「到目前為止,某事是否已經發生」。
延伸學習,Keep Going!
以上就是現在完成式的各種用法詳解,恭喜你全部學完啦!希望這一篇文章,幫助你更加了解現在完成式的「已經~」語意,並釐清和過去式之間的差異,讓你更精準地表達想法。
掌握了現在完成式,也就為學習「過去完成式」打下了良好基礎!
打鐵要趁熱,下一篇文章「過去完成式」,趕快來瞧瞧!
→ 過去完成式
*本系列教學文章,部分內容取材於「遇見說英文的自己・進階英文(上)」 Jella! 線上課程。

來自美國波士頓的 Kyle 老師,以純正美式的全英文授課,帶你全面理解進階表達的必學語法。透過身歷其境的實境式教學,把豐富多樣的日常會話,和絕對道地的美式慣用語,毫無保留一次傳授,讓你不知不覺培養出「英文腦」,輕鬆面對各種場合,說出最符合你個性的英文!