現在完成式 vs. 過去完成式 3 大差別
have pp have been pp 兩個時態最大的差異就是「完成的時間點」。
現在完成式表達現在「已經完成的事」或從過去進行到現在的事;而過去完成式表達的是過去就已經完成的事情,或過去的過去,只要弄清楚以下的三大差異,想輕鬆駕馭這兩個時態就不是問題。
觀念釐清
現在完成式:has / have+過去分詞(past participle / p.p.)
- I have walked
- She has gotten
- They have bought
過去完成式:had+過去分詞(past participle / p.p.)
- I had walked
- She had gotten
- They had bought
現在完成式 vs. 過去完成式 3 大差別
一、結束的時間點
如果結算的時間點是截至目前為止,用現在完成式
- I’ve watched the movie over five times.(到現在總共看超過5次)
- My mom has done the dishes. (說話的此刻碗已經洗好)
- Have you ever drunk Kaoliang Liquor?(目前為止是否喝過高粱酒)
如果結算的時間點是過去的某個時間,用過去完成式
- She’d left for the airport by the time I got to her place.
- I'd thrown it away before you told me not to.
- He’d quit the job when the manager approved his pay raise.
二、動作的持續性
動作從過去持續到現在,而且可能繼續下去,用現在完成式
- He has lived in Taipei for eight months.(還可能繼續住在台北)
- I have had this car since I was 20.(現在車還是我的)
- We still have not finished the project.(到現在還沒完成、可能短時間內也無法完成)
動作發生在過去,在過去的某個時間點前曾持續一段時間,用過去完成式
- I had known him for ten years before you two got married.
- He had learned piano for 25 years when he performed for the first time at the National Opera House in 2018.
三、描述的事件數量
現在完成式的句子裡通常只敘述一件事情,可能是過去的一個經驗或事件
- I’ve never seen him.
- Has your dad ever taught you how to fix a pipe?
- He’s bought a house.
過去完成式的句子裡通常至少會提到兩個有先後順序的事件,先發生的用過去完成式、後發生的用過去式
- He’d hit on the glass(先) when he realized there was a door in the front(後).
- I wanted to join the party(後), but I’d promised my wife to take her out for dinner that night(先).
- I’d never seen him(先)before we met at the bar last night(後).
小考:現在完成式 vs. 過去完成式
- She (hide) ____________ the map before they broke into the house.
- ____________ you ever (go) ____________ to a live concert?
- The plane (take off) ____________ when we finally got to the right terminal.
- I (keep) ____________ the cat for 9 years.
- He (drink, not) ____________ any alcohol before he turned 18.
解答
- had hidden
敘述發生在過去,兩個有先後順序的事件:藏起地圖 (先)、破門而入 (後),用過去完成式
- Have, gone
問從以前到現在的一個經驗,用現在完成式
- had taken off
敘述發生在過去,兩個有先後順序的事件:飛機起飛(先)、抵達航廈(後),用過去完成式
- have kept
從以前就開始到現在,而且極可能繼續下去,用現在完成式
- had never drunk
滿18歲以前,一直都沒有喝過酒;但這件事在滿18歲以後就結束了,用過去完成式