過去完成式的使用情境,通常是表達發生在過去的兩件事情,先發生的就使用過去完成式,後發生的就使用過去簡單式。一般來說不會有單獨出現過去完成式的情況,除非是在轉述其他人說過的話。
句型: had + P.P.(過去分詞)
舉例來說: I had been to Japan ten times before I studied Japanese. 這句話的意思是「在我學日語之前,我已經去過日本十次了」
圖解過去完成式
這邊使用時間軸的方式來展示過去完成式的特性:
- 過去式: The car broke down. (車子過去某個時間點壞了)
- 過去完成式: The car had already broken down before I bought it. (在我購買前,這台車就已經壞了)
- 現在完成式: I have gone to Japan. (我去了日本還沒回來)
- 過去完成式: I had been to Japan 3 times before last year. (在去年之前,我已經去過日本三次)
過去完成式可以當作現在完成式的過去式,這種時候就可以單獨出現
- Jenny 說了一句話: I have done this before. (這件事情我已經做過了)
- Max 轉述 Jenny: Jenny said she had done this before. (Jenny說這件事情她已經做過了)
使用時機一: 表達兩件過去的事情的先後順序
這是最常出現的情況,也就是需要表達發生於過去的兩件事情的先後順序。可以很清楚的表達出某一件事情比另外一件事情還早發生,在結構上來說哪一件事情先說並不會造成影響,在判斷的時候是使用時態來判斷:
- Before police arrived, the suspect had run away.
- My friends came to visit me after I had left.
如果需要加上 always, usually, only, never, ever, still, just, yet等副詞,通常都會加在had和P.P.(過去分詞)中間:
- The plane had already taken off when I arrived at the airport.
- I had never heard the song before that performance.
使用時機二: 從過去某一個時間持續到過去另一個時間的動作
當我們想要表示一件事情從過去的時間點發生,並且一路持續到現在的時候,我們會用現在完成式。而過去完成式可以做為現在完成式的過去式,用來表達一件事情從過去的某個時間點發生,並且持續到另外一個時間點。
- By the time his quit, he had been in this company for 10 years.
- We had driven this car for 10 hours before it broke down.
使用時機三: 假設句式
在 if 後所提及的過去事件沒有發生,所以導致主要子句所說的事情無法實現。可以用來表示後悔過去沒有做某些事情,要是當初做了今天就會不一樣。
- If I had studied English hard, I could have got a higher score in the test.
- If he hadn’t spent money on gambling, he wouldn’t have gone bankrupt.
- If I had known your situation, I would have come to help you.