在运用过去完成时的时候,同学们常常把过去完成时与一般过去时相混淆,也就是说,在该用过去完成时的地方用了一般过去时,而在不该用过去完成时的地方反倒用了过去完成时。例如:
1. 去年他们读完了十本英语小说。
They had finished reading ten English story books last year . (误)
They finished reading ten English story books last year . (正)
2. 到去年年底你在你们村建了多少房屋?
How many houses did you build in your village by the end of last year ?(误)
How many houses had you built in your village by the end of last year ?(正)
上面两个例句都用“了”这样的字眼表示动作完成,然而在英语中一句用一般过去时,一句却要用过去完成时。
过去完成时所表示的时间概念是“过去的过去”,即在过去某一时间或动作之前已经完成了的动作。过去完成时所表示的时间概念可以用下图表示:
________________________________________
———— * ———— × ———— + 时间
更早的动作 过去某一时间或 现在
(用过去完成时) 过去另一动作
一般过去时表示“现在”以前的任何时间发生的动作或情况。过去完成时则表示过去某一时间或过去另一动作以前发生的动作或情况。
上面第一个例句表示在“去年(last year)”这个过去时间内完成的动作,因此用一般过去时;第二个例句表示“到去年年底(the end of last year)”这个过去时间“以前”完成的动作,因此用过去完成时。如能弄清这个时间关系就可正确使用过去完成时。例如:
How many English films had you seen by the end of last term ?
到上学期末你们看了多少部英语电影?
The film had already begun when I got to the cinema .
当我到电影院时,电影已经开始了。
过去完成时还可以表示从过去某一时间开始,持续到过去另一时间的动作或状态。例如:
He had worked in the factory for five years before he moved here .
在他搬到这儿以前,他已经在那家工厂工作了五年。
I saw Li Ping yesterday . We had not seen each other since I left Beijing .
我昨天看见李平了。自从我离开北京,我们就没见过面。
但需要注意下列三种情况不用过去完成时:
1. 句中如有yesterday , last year , in 1986 , three days ago等表示过去时间的状语,谓语动词必须用一般过去时。例如:
Peter didn”t play football yesterday .
彼得昨天没有踢足球。
2. 汉语中虽然有“了”、“曾”、“过”等字眼表示动作完成,但没有说明动作是在过去某一时间以前完成的,译成英语时要用一般过去时,不用过去完成时。例如:
前天他去了北京。
He went to Beijing the day before yesterday .
3. 叙述在过去连续发生的两件以上的事,虽然在时间上有先后之别,但仍用一般过去时。例如:
They decided to stay here , and so they built their houses and made their farms .
他们决定呆在这儿,所以他们建了房子,开垦了农场。