第 49 課 · 第 4 階段: 時態與情態動詞
過去完成時
中級Past perfect
構成與用法
had + 過去分詞 — 在過去另一時刻之前完成的動作
1.形式
過去完成時 = had + V3,所有主語都一樣。縮寫形式:I'd、she'd、they'd;否定式 hadn't。
| 所有主語 | |
|---|---|
| 肯定式 | She had left. / She'd left. |
| 否定式 | She hadn't left. |
| 疑問式 | Had she left? |
| 簡略回答 | Yes, she had. / No, she hadn't. |
'd 可能是 had,也可能是 would。看後面一個詞:'d + V3 = had(I'd forgotten);'d + 動詞原形 = would(I'd forget)。另外 'd better = had better。
2.什麼時候用
當你已經在講過去的事,又想再往前推一步時,用過去完成時:這件事發生在過去另一個時刻或事件之前。
1. 發生在過去另一件事之前的事
When I got to the station, the train had already left.
我到車站時,火車已經開走了。
I couldn't pay because I'd left my wallet at home.
我付不了錢,因為我把錢包落在家裡了。
2. 和 by the time、before、already 連用:在那個時間點之前已經完成
By the time Mum got home, we had cleaned the whole house.
媽媽到家的時候,我們已經把整個房子打掃乾淨了。
The bakery had sold out of bread before I got there.
我還沒到,麵包店的麵包就已經賣完了。
3. 到過去某一時刻為止的經歷——had never / had ever … before
I'd never seen snow until I went to Sapa last winter.
去年冬天去沙壩之前,我從來沒見過雪。
Had you met him before the wedding?
婚禮之前你見過他嗎?
4. 轉述過去的想法或話語:realised、knew、found out、said、told…(見“間接引語”一課)
I suddenly realised I hadn't turned off the stove.
我突然意識到我沒關爐子。
Tom said he had never eaten durian.
湯姆說他從來沒吃過榴槤。(他的原話:I have never eaten…)
3.When 後面:一般過去時還是過去完成時?
在 when 後面,換個時態,兩件事的先後順序就變了:
When we arrived, the party started.
我們到的時候,派對開始了。(我們先到,然後派對開始)
When we arrived, the party had started.
我們到的時候,派對已經開始了。(我們到之前派對就開始了)
When I got home, Mum cooked dinner.
我回到家,媽媽就做晚飯了。(我先到家,然後她做飯)
When I got home, Mum had cooked dinner.
我回到家時,媽媽已經做好晚飯了。(我到家時晚飯已經做好了)
先發生的事用 had + V3,後發生的事用一般過去時。不要把 had 放在後發生的事上:When I had arrived, the meeting already started ✗ → When I arrived, the meeting had already started。
4.什麼時候不需要用
- 按發生的順序講事情 → 用一般過去時就夠了:I got up, had a shower and went to work.
- 用 after、before、as soon as 時先後順序已經很清楚,所以用一般過去時也可以:After I finished / After I had finished my homework, I went out. 想強調第一個動作已經完成時,用 had + V3。
- 不要因為事情發生在很久以前就用過去完成時:I was born in 2000.
After she had finished the report, she sent it to her manager.
她寫完報告後,把它發給了經理。(after + had V3 或 after + 一般過去時:都可以)
5.和現在完成時比較,以及相關形式
現在完成時算到現在為止;過去完成時算到過去某一時刻為止。
I'm not hungry. I've just eaten.
我不餓,我剛吃過。(到現在為止)
I wasn't hungry. I'd just eaten.
我當時不餓,我剛吃過。(到那時為止)
- had been + -ing:一直持續到過去某一時刻的活動——We had been walking for three hours when we found a café. 見“過去完成進行時”一課。
- had been + V3(被動):When we came back, our bags had been stolen.
- had + V3 也用來表示與過去事實相反:If I had known, I would have helped(見“第三條件句”一課);I wish I had studied harder.
6.常見錯誤
When I arrived, everyone has gone home.When I arrived, everyone had gone home.
參照點在過去(arrived)→ 用 had,不用 has。
I hadn't saw him for years.I hadn't seen him for years.
had + V3。
When I had arrived, the meeting already started.When I arrived, the meeting had already started.
had + V3 用在先發生的事上(會議開始)。
The children were tired because they had swam all afternoon.The children were tired because they had swum all afternoon.
swim – swam – swum:had + V3。
She told me she has lost her phone the day before.She told me she had lost her phone the day before.
轉述過去說的話 → 時態往後退:has lost → had lost。
I had been born in 2000.I was born in 2000.
不要因為是很久以前的事就用過去完成時。
例句
- When I got to the station, the train had already left.
- Lan couldn't get into her flat because she had left her keys at the office.
- By the time I turned on the TV, Vietnam had scored two goals.
- I didn't recognise Hoa at the party because she had changed so much.
