過去完成式和過去完成進行式,兩者加上持續時間的描述後,都可以傳達一樣的基本資訊。
例如:
- I
had sleptfor 80 minutes. (過去完成式) - I
had been sleepingfor 80 minutes. (過去完成進行式)
這兩句話,都有表達「已經睡了 80 分鐘」的基本事實。
微妙的差別在於,過去完成進行式更凸顯「動作的持續性」,類似「那時已經持續睡了整整 80 分鐘了」的強調語氣。
過去完成式
had + p.p.(過去分詞)
had + 過去分詞(past participle / p.p.)
- I
had walked - She
had gotten - They
had bought
過去完成式是不能單獨用的。我們用的時候,必須要有另一個事件。
也就是說,假如我們有兩個事件A和B,兩件事都發生在過去,但A發生在B以前,A應該用過去完成式,B則用過去式。例如:
It had already snowed before Monday.
周一以前,已經下過雪了。He had worked before he decided to go to college.
他唸大學以前,曾經工作過。
觀念釐清 (現在完成式 & 過去完成式)
現在完成式:
has / have+過去分詞(past participle / p.p.)
- I
havewalked - She
hasgotten - They
havebought
過去完成式:
had+過去分詞(past participle / p.p.)
- I
hadwalked - She
hadgotten - They
hadbought
現在完成式 vs. 過去完成式 3 大差別
- 結束的時間點
- 動作的持續性
- 描述的事件數量
一、結束的時間點
如果結算的時間點是截至目前為止,用現在完成式
1
2
3
4
5
6
7
8
I’ve watched the movie over five times.
(到現在總共看超過5次)
My mom has done the dishes.
(說話的此刻碗已經洗好)
Have you ever drunk Kaoliang Liquor?
(目前為止是否喝過高粱酒)
如果結算的時間點是過去的某個時間,用過去完成式
1
2
3
4
5
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.
二、動作的持續性
動作從過去持續到現在,而且可能繼續下去,用現在完成式
1
2
3
4
5
6
7
8
He has lived in Taipei for eight months.
(還可能繼續住在台北)
I have had this car since I was 20.
(現在車還是我的)
We still have not finished the project.
(到現在還沒完成、可能短時間內也無法完成)
動作發生在過去,在過去的某個時間點前曾持續一段時間,用過去完成式
1
2
3
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.
三、描述的事件數量
現在完成式的句子裡通常只敘述一件事情,可能是過去的一個經驗或事件
1
2
3
4
5
I’ve never seen him.
Has your dad ever taught you how to fix a pipe?
He’s bought a house.
過去完成式的句子裡通常至少會提到兩個有先後順序的事件,先發生的用過去完成式、後發生的用過去式
1
2
3
4
5
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歲以後就結束了,用過去完成式
過去完成進行式
S + had been Ving
過去完成進行式可表示「過去某一時刻前的持續動作」:動作發生於過去的某個時間點,且一直持續到另一個過去的時間點,就是「到過去某一時刻為止,已經持續~」。
1
2
3
<------------------
過去 ---|||||||||||||||||||---- 現在 --------- 未來
之前持續的動作 過去時間點
動作從過去某個時間點開始,一直持續到另一個過去時間點。
When I got to the restaurant, my stomach
had been rumblingfor a long time.
抵達餐廳時,我的肚子已經咕嚕叫很久了。When I found my wallet lost, I
had been eatinglobsters for two hours. 當我發現錢包不見的時候,我已經吃了兩小時的龍蝦大餐。Before they let me go, I
had been washingthe dishes in the kitchen.
他們放我走之前,我一直都在廚房洗碗盤。
現在完成式 vs. 過去完成式 3 大差別
【英文時態系列 9】 – 完成進行式:現在完成進行式、過去完成進行式、未來完成進行式