過去完成時/現(xiàn)過去完成進行時【英語時態(tài)系統(tǒng)教程】|低基礎起步

老白 | 過去完成時 + 過去完成進行時

1??過去完成時

過去完成時:表示過去某一時刻或某一動作之前已完成的動作或狀態(tài),常與already,yet,still等時間狀語連用;也可用于虛擬語氣,過去完成時由had加過去分詞構成。
含義:過去的過去
構成:had done(如果有already,需要放在had后)
時間狀語
與過去完成時連用的時間狀語可以是already(已經),yet(仍然),still(還), just(剛剛),hardly...when(剛.…...就),scarcely...before(剛......就),ever(曾經),never(從來沒有)等,也可以是by(不遲于),before(在....之前),until(直到),as soon as(一.....就)等引導的詞組或從句
- When Sarah arrived at the party,Paul had already gone home.
- Sarah到達是故事的開始,Paul回家發(fā)生在此之前
- After we had landed,the plane was searched thoroughly.
- 落地在前,搜查在后
- Helen said(that)she had moved to another flat.
- 說這話的時候已經搬家了
用于賓語從句
一般說來,主句中用了know(知道),realize(意識到),think(認為),suppose(猜想),guess(推測),find(找到),discover(發(fā)現(xiàn)),decide (決定),remember(想起),forget(忘記)等動詞的一般過去時,如果賓語從句中的動作先于主句的動作,通常用過去完成時。
- We realized we had lost our way.
- 我們意識到我們迷路了。
- l didn't think to ask her if she had passed her examination.
- 我沒有想問她是否考試及格了。
虛擬語氣
過去完成時的這一用法,常見于以if only等引導的感嘆句
- lf only we had listened to their advice!
- 我們要是聽了他們的意見就好了!
- lf only you had worked with greater care!
- 你要是更仔細一些該多好!
還見于構成虛擬語氣的條件從句和l wish...(我希望....….),I'd rather...(我寧愿.....)后的that-從句
- I'd rather you hadn't been present.
- 我寧愿你當時不在場。
- lf I had asked for directions,I wouldn't have gotten lost.
- 如果我問一下路,就不會迷失方向了。
虛擬條件句中如果出現(xiàn)had done結構可省去if,將主語與這些詞倒裝。
- lf l had asked for directions,I wouldn't have gotten lost.
- Had I asked for directions, I wouldn't have gotten lost.
過去完成時和現(xiàn)在完成時的區(qū)別

2??過去完成進行時

had been doing
過去完成進行時:表示在過去較早的時間內進行的動作,并對過去某一刻的動作或狀態(tài)產生結果。過去完成進行時由had been + doing構成。

- She was tired. She had been working all day.
- 她很累了。她整天都在工作。
- When I first met Jane,she had been working in that school for 10 years.
- 我第一次遇到簡的時候,她已在那所學校干了10年了。
- How long had it been raining before you shut the window?
- 你關窗戶之前雨下了多久了?
從我們所見,所聞中得出的結論,更多用過去完成進行時。
- His eyes were red. It was obvious that he had beenworking too hard.
過去完成進行時VS過去進行時

過去完成進行時:強調動作本身,不管是否已完成
過去完成時:強調一個完成的動作(has painted),用于說明結果

過去完成進行時相比于口語,更多用于書寫中:A spokesman for the company said Tony hadn't been working for them long.