一般过去式和现在完成时:
一般过去式只是表示事情发生在过去,陈述一个事实,它可以和确定的表示过去的时间状语如:last night, in 1999, three days ago等连用。而现在完成时表示某一完成的动作对现在造成的影响或结果,强调的是现在的情况,所以它不能和确定的表示过去的时间状语连用。
如: We have seen that film. 我们已看过那部电影。 对现在造成的影响是我们对影片已有所了解。 We saw the film last night. 昨天晚上我们看了那部电影。只说明昨天晚上看电影这一事实。
注意:有些时间状语,如this morning,tonight, this month 等,既可用于一般过去时,又可用于现在完成时,但所表达的意义有所不同。用于现在完成时表示包括现在在内,而用于一般过去式则与现在无关。如: I have read this book this April.(说话时仍然为四月。) I read this book this April. (说话时四月份已过。)
一般过去式和过去完成时的比较:
一般过去式表示过去时间发生的动作或存在的状态,而过去完成时在过去某一时间或动作之前已完成的动作或状态,即"过去的过去"。当强调过去某一动作发生在某一动作之前时,常用此时态。
如: He had finished his homework before nine o’clock.九点之前他已经完成了作业。实际上,一般现在时和过去完成时常搭配使用。如: When he got home, his daughter had already gone to bed. 当他到家的时候,他的女儿早已去睡觉了。
在带有after和before引导的时间状语从句的复合句中,由于从句的动作和主句的动作发生的先后顺序已经非常明确,所以可以用一般过去时代替过去完成时。如:He called on me soon after he had finished his homework. 他做完作业后不久便来拜访我。也可以说: He called on me soon after he finished his homework.