英語中,任何時態(tài)都是“時間”與“動作意義”的結(jié)合。過去完成時的時間很明顯是“過去”;它的動作意義就是“已經(jīng)完成”。換句話說,過去完成時表示的是在過去某一時間或某一動作之前已經(jīng)發(fā)生或完成了的動作,它所指的時間為“過去的過去”。
一、過去完成時的主要用法
1.表示過去某一時間或動作之前已經(jīng)發(fā)生或完成的動作,其典型時態(tài)標志為“by/by the end of+過去的時間點”或“by the time/when+謂語動詞為一般過去時的從句。
例如:Before 12 oclock last night he had left for Shanghai.昨天晚上十二點以前他就已經(jīng)出發(fā)去上海了。
By the time she reached there, the rain had stopped.等她到那兒時,雨已經(jīng)停了。
We had written five compositions by the end of last month.到上個月底我們已經(jīng)寫了五篇文章。
He had finished doing the homework by yesterday.昨天之前他就做完了作業(yè)。
Her little brother hadnt gone into the bathroom by the time she got up.她起床時,她弟弟還沒有進入浴室。
2.過去完成時還可以表示由過去某一時間開始,一直延續(xù)到過去另一時間的動作或狀態(tài)。它常與for或since構(gòu)成的短語或由since引導的從句連用。
例如:By 2015 Xiao Wang had taught math at that village school for 18 years.到2015年為止,小王已經(jīng)在那所鄉(xiāng)村小學教了十八年數(shù)學。
She said she had lived in Jinan since five years before.她說過她五年前就在濟南居住了。
Tom told me he had stayed here since he came back.湯姆告訴我,他回來后就一直待在這兒。
3.在含有賓語從句的主從復(fù)合句中,若主句的謂語動詞為一般過去時,且賓語從句的謂語動詞表示的動作發(fā)生在主句謂語動詞所表示的動作之前,那么賓語從句的謂語動詞要用過去完成時。
例如:The teacher told us that our country had sent up another man-made satellite into the space.老師告訴我們我國又向太空發(fā)射了一顆人造衛(wèi)星。
He told me that he had heard of the good news.他告訴我他已經(jīng)聽說了那個好消息。
二、過去完成時與現(xiàn)代完成時的區(qū)別
過去完成時表示的是在過去某一時間或某一動作之前已經(jīng)發(fā)生或完成的動作,強調(diào)動作發(fā)生在“過去的過去”;而現(xiàn)在完成時則表示動作發(fā)生在過去,一直延續(xù)到現(xiàn)在或者仍然和現(xiàn)在有關(guān),強調(diào)發(fā)生在過去的動作對現(xiàn)在產(chǎn)生的影響或結(jié)果。請比較:
We had seen five English movies by the end of last month.到上個月末,我們已經(jīng)看了五部英文電影。
We have seen five English movies so far.到目前為止,我們已經(jīng)看了五部英文電影。
三、過去完成時與一般過去時的區(qū)別
過去完成時與一般過去時雖然都可以和表示過去的時間狀語連用,表示過去發(fā)生的動作或存在的狀態(tài),但它們的側(cè)重點有所不同:過去完成時表示過去某一時間或某一動作之前就已經(jīng)完成的動作或存在的狀態(tài),而一般過去時則主要表示在過去某一時間發(fā)生的動作或存在的狀態(tài)。請比較:
How many houses had they built in their village by the end of last year?到去年年底他們村建造了多少房屋?
How many houses did they build in their village last year?去年他們村建造了多少房屋?
四、不用過去完成時的情況
1.主句的時態(tài)是一般過去時,而賓語從句中有明確表示過去的時間狀語時,則賓語從句中的時態(tài)不用過去完成時,仍然使用一般過去時。
例如:Ted said Julia visited her uncle three days ago.特德說茱莉亞三天前去看望了她的叔叔。
2.敘述在過去時間里按順序連續(xù)發(fā)生的兩個以上的動作或事件時,雖然這些動作或事件在時間上有先后之別,可以都用一般過去時態(tài)。
例如:They decided to stay there, so they built their homes and made their farms.他們決定留在那里,因此他們建起了家園和農(nóng)場。
Donna got up, washed her face, brushed her teeth, took a shower, had a quick breakfast and then went to school this morning.今天早上丹娜起床后,洗臉、刷牙、洗淋浴,匆匆吃了早飯,然后上學去了。
3.當句中有yesterday, last week(month,year…),in 2015,five years ago等表示很確定的過去時間時,謂語動詞只能用一般過去時。
例如:I went to the Great Wall three years ago.三年前我去過長城。
4.漢語中雖然有“了”“曾經(jīng)”“過了”等字眼表示動作已經(jīng)完成,但它們并不表明動作是在過去某一時間以前完成的,所以譯成英語時通常要用一般過去時,不用過去完成時。
例如:He taught English for ten years.他教過十年英語。
5.在含有before,after,when,until,as soon as等引導的狀語從句的主從復(fù)合句中,如果主句的動作與從句的動作緊接著發(fā)生,則主句和從句中的謂語動詞都可以用一般過去時態(tài)。
例如:When she entered the room, she found the boy crying.她進屋時發(fā)現(xiàn)那個男孩在哭。
As soon as the teacher came into the classroom, the students stopped talking.老師一走進教室,學生們就不再說話了。
注意“had+名詞或代詞+過去分詞”這種結(jié)構(gòu)形式上很像過去完成時態(tài),但實際上卻是一般過去時,表示“請或讓別人做某事”,名詞或代詞作賓語,過去分詞作賓語補足語。
例如:Isabel had her hair cut yesterday afternoon.昨天下午,伊莎貝爾理了頭發(fā)。
He had the TV set repaired yesterday afternoon.昨天下午他讓人把電視機修了修。