第 50 課 · 第 4 階段: 時態與情態動詞
過去完成進行時
中級Past perfect continuous
構成與用法
had been + -ing——一直持續到過去某一時刻的活動
1.形式
過去完成進行時 = had been + 動詞-ing。Had 對所有主語都一樣,所以 he / she / it 也不需要任何變化。
| 句型 | 例句 | |
|---|---|---|
| 肯定式 | S + had been + V-ing | She had been working. / I'd been waiting. |
| 否定式 | S + hadn't been + V-ing | They hadn't been sleeping well. |
| 疑問式 | Had + S + been + V-ing? | Had you been waiting long? |
| 問多長時間 | How long had + S + been + V-ing? | How long had he been living there? |
| 簡略回答 | Yes, S had. / No, S hadn't. | Yes, I had. / No, she hadn't. |
口語中 had 通常縮寫成 'd:I'd been、she'd been、they'd been。'd 緊跟在 been 前面時,一定是 had。要把 /d/ 讀清楚——不讀的話,I'd been 聽起來像 I been,聽的人就聽不出過去的意思了。
2.什麼時候用
1. 一直持續到過去某一時刻的活動——常和 for、since、all day、how long 連用
By the time the doctor came, we'd been waiting for two hours.
醫生來的時候,我們已經等了兩個小時了。
Minh had been working at the bank since 2018 when he decided to quit.
阿明決定辭職時,他已經從 2018 年起在銀行工作了。
How long had you been learning English before you moved to Canada?
你搬去加拿大之前學了多久英語?
2. 解釋過去的某個情況——在那之前進行的活動(可能剛剛停止)留下了痕跡或結果
Her eyes were red. She'd been crying.
她眼睛紅紅的,她剛才一直在哭。
The road was wet because it had been raining all night.
路面是溼的,因為下了一整夜的雨。
I was exhausted when I got home — I'd been standing all day.
我回到家時累壞了——我站了一整天。
3. 另一件事發生時仍在進行的活動(那件事常常讓它停了下來)
Lan had been driving for six hours when she finally stopped for coffee.
阿蘭開了六個小時的車,終於停下來喝咖啡。
They hadn't been dating long when they got engaged.
他們交往沒多久就訂婚了。
這個時態總需要一個過去的時刻(when I arrived、by the time…、當時的某個情況)作為回看的起點。很多學習者講過去的故事時誤用 have been -ing。如果參照點是現在 → have been -ing;如果是過去某一時刻 → had been -ing。
3.和相近時態比較
Have been -ing 還是 had been -ing? 兩者都表示“做某事做了一段時間”,只是終點不同:一個到現在,一個到過去某一時刻。
I've been waiting for twenty minutes. Where are you?
我已經等了二十分鐘了,你在哪兒?(到現在為止)
I'd been waiting for twenty minutes when she finally replied.
我等了二十分鐘,她才終於回覆。(到她回覆的那一刻為止)
Was -ing 還是 had been -ing? Was -ing = 在那一時刻正在做;had been -ing = 活動在那一時刻之前一直在進行(可能已經停了)。
When I got home, Mum was cooking.
我回到家時,媽媽正在做飯。(她還在做)
When I got home, the kitchen smelled of garlic. Mum had been cooking.
我回到家時,廚房裡一股蒜味。媽媽剛才一直在做飯。(我到之前她在做飯)
Had been -ing 還是 had + V3? Had been -ing 講的是活動和多長時間;had + V3(過去完成時)講的是已完成的結果和多少。
| had been + -ing | had + V3 | |
|---|---|---|
| 重點 | 活動,持續了多久 | 結果,完成了什麼 |
| 問句 | How long…? | How many / How much…? |
| 例句 | She'd been writing emails all morning. | She'd written twenty emails by noon. |
| 完成了嗎? | 不一定 | 是 |
狀態動詞(know、believe、own、have = 擁有…)通常不用進行形式,所以即使說的是一段時間,也用 had + V3。
We had known each other for ten years when we started the company.
我們創辦公司時,已經認識十年了。(不說:had been knowing)
4.常見錯誤
He had been work there for ten years.He had been working there for ten years.
had been 後面要接 -ing。
I was tired because I have been driving all day.I was tired because I had been driving all day.
故事發生在過去(was)→ 用 had,不用 have。
By noon she had been reading three chapters.By noon she had read three chapters.
完成的數量 → had + V3。
I had been knowing him for years.I had known him for years.
know 是狀態動詞 → 不用進行形式。
How long you had been living there?How long had you been living there?
疑問句中 had 放在主語前面。
She had being waiting for an hour.She had been waiting for an hour.
had + been(be 的 V3),不是 being。
例句
- Tuan's eyes were red because he had been crying for hours.
- By the time the bus came, we had been waiting for forty minutes.
- How long had you been looking before you found a job?
- Nam had been repairing his motorbike all morning, but it still didn't start.
