概述
過去完成時是把時間推移到過去某一時間之前,與現在不發生聯繫,由"had + -ed分詞"構成。它的主要用法有三個,即“已完成用法”,“未完成用法”和“虛擬用法”.已完成用法表示一個動作或狀態在過去某一時間或動作之前已經發生或完成.未完成用法表示一個動作或狀態在過去某一時間或動作之前已經開始,一直延續到這一過去時間,而且到那時還未結束,仍有繼續下去的可能性。
語法構成
過去完成時由“had +動詞的過去分詞”構成,had用於各種人稱和數。
肯定句:主語+had+動詞的過去分詞+其他.
否定句:主語+hadn’t(had not)+動詞的過去分詞+其他.
一般疑問句:Had+主語+動詞的過去分詞+其他?
肯定回答:Yes, 主語+had.
否定回答:No, 主語+hadn’t.
如:She had arrived at the village before 8 o’clock last night. 昨晚8點之前她已到達這個村莊。[表示她在昨晚之前就到了,注;相比現在說話的時間,那件事發生在過去的過去】
—Had he told you to go there earlier yet? 他告訴了你早點兒到那兒嗎?
—Yes, he had. / No, he hadn’t. 是的,他告訴了。/ 不,他沒有。
語法判定
1. 由時間狀語來判定
一般說來,各種時態都有特定的時間狀語。與過去完成時連用的時間狀語有:
( 1 ) by + 過去的時間點。如:
I had finished reading the novel by nine o'clock last night.
( 2 ) by the end of + 過去的時間點。如:
We had learned over two thousand English words by the end of last term.
( 3 ) before + 過去的時間點。如:
They had planted six hundred trees before last Wednesday.
2. 由“過去的過去”來判定。
過去完成時表示“過去的過去”,是指過去某一動作之前已經發生或完成的動作,即動作有先後關係,動作在前的用過去完成時,在後的用一般過去時。這種用法常出現在:
( 1 )賓語從句中
當賓語從句的主句為一般過去時,且從句的動作先於主句的動作時,從句要用過去完成時。在told, said, knew, heard, thought等動詞後的賓語從句。如:
She said that she had seen the film before.
( 2 )狀語從句中
在時間、條件、原因、方式等狀語從句中,主、從句的動作發生有先後關係,動作在前的,要用過去完成時,動作在後的要用一般過去時。如:
After he had finished his homework, he went to bed.
注意: before, after 引導的時間狀語從句中,由於 before 和 after 本身已表達了動作的先後關係,若主、從句表示的動作緊密相連,則主、從句都用一般過去時。如:
After he closed the door, he left the classroom.
(3)表示意向的動詞,如hope, wish, expect, think, intend, mean, suppose等,用過去完成時表示"原本…,未能…"
We had hoped that you would come, but you didn't.
3. 根據上、下文來判定。
I met Wang Tao in the street yesterday. We hadn't seen each other since he went to Beijing.
基本用法
(1)表示在過去某一時刻或動作以前完成了的動作,即“過去的過去”。可以用by, before等介詞短語或一個時間狀語從句來表示,也可以用一個表示過去的動作來表示,還可能通過上下文來表示。
By nine o’clock last night, we had got 200 pictures from the spaceship.到昨晚9點鐘,我們已經收到200 張飛船發來的圖片。
(2)表示由過去的某一時刻開始,一直延續到過去另一時間的動作或狀態,常和for, since構成的時間狀語連用。
He said he had worked in that factory since 1949.他說自從1949年以來他就在那家工廠工作。
(3)敘述過去發生的事情,在已敘述了過去發生的事情後,反過來追述或補述以前發生的動作時,常使用過去完成時。
I didn’t know a thing about the verbs, for I had not studied my lesson.我對動詞一無所知,因為我沒有好好學習功課。
(4)在含有定語從句的主從複合句中,如果敘述的是過去的事,先發生的動作常用過去完成時
She found the key that she had lost.她丟失的鑰匙找到了。
(5)過去完成時常常用在賓語從句(或間接引語)中,這時從句中的動作發生在主句表示的過去的動作之前。
I thought I had sent the letter a week before. 我認為我一星期前就把信寄出去了。
(6)在包含有when, until等連詞的複合句中,如果主句謂語動詞和從句謂語動詞所表示的過去動作不是同時發生的,那么先發生的動作通常用過去完成時表示。
She didn’t go to bed until she had finished he work.她直到把工作做完之後才睡覺。
注意:如果兩個動作緊接著發生,則常常不用過去完成時,特別是在包含before和after的複合句中,因為這時從句的動作和主句的動作發生的先後順序已經非常明確,這時可以用一般過去時代替過去完成時。
(7)動詞think, want, hope, mean, plan, intend等用過去完成時來表示過去未曾實現的想法,希望,打算或意圖等。
We had hoped to be able to come and see you .我們本來希望能來看看你。
(8)過去完成時還可用在hardly…when…, no sooner…than…, It was the first (second, etc) time (that)…等固定句型中。
It was the third time that he had been out of work that year.這是他那一年第三次失業了。
語法區別
一、過去完成時與現在完成時的區別
現在完成時表示的動作發生在過去,但側重對現在產生的結果或造成的影響,與現在有關,其結構為“助動詞 have (has) + 過去分詞”;過去完成時則是一個相對的時態,它所表示的動作不僅發生在過去,更強調“過去的過去”,只有和過去某時或某動作相比較時,才用到它。
比較:I have learned 1000 English words so far.到目前為止我已經學會了 1000 個英語單詞。
I had learned 1000 English words till then.到那時為止我已經學會了 1000 個英語單詞。
— I'm sorry to keep you waiting. 對不起,讓你久等了。
— Oh, not at all. I have been here only a few minutes.沒什麼,我只等了幾分鐘。(“等”的動作從過去某一時間點持續到現在)
二、過去完成時與一般過去時的區別
雖然這兩種時態都表示過去發生的動作或存在的狀態,但在使用時應注意以下幾點:
1. 時間狀語不同:過去完成時在時間上強調“過去的過去”;而一般過去時只強調過去某一特定的時間。
比較:They had arrived at the station by ten yesterday.
They arrived at the station at ten yesterday.
2. 在沒有明確的過去時間狀語作標誌時,謂語動詞動作發生的時間先後須依據上下文來判斷:先發生的用過去完成時,後發生的則用一般過去時。
She was very happy. Her whole family were pleased with her, too. She had just won the first in the composition competition.
3. 當兩個或兩個以上接連發生的動作用 and 或 but 連線時,按時間順序,只需用一般過去時來代替過去完成時;另外,在 before , after , as soon as 引導的從句中,由於這些連詞本身已經表示出時間的先後,因此也可以用過去時來代替過去完成時。
He entered the room, turned on the light and read an evening paper.